Дебаг для Alamofire запросов
Alamofire - библиотека, для работы с HTTP написанная на свифте. Она упрощает жизнь разработчикам в разы.
Когда пишешь сетевой код, часто возникает вопрос как его подебажить, посмотреть параметры, заголовки и тд. С Alamofire это просто.
Если у вас в проекте используется версия < 5, то вам нужно написать немного кода. Добавим вспомогательный метод к классу Request в отдельном файле Request+Debug.swift
1import Foundation
2import Alamofire
3
4extension Request{
5 public func debug() -> Self {
6 #if DEBUG
7 debugPrint(self)
8 #endif
9 return self
10 }
11}
B при запросе воспользуемся им.
Alamofire.request(url).debug()
.responseJSON( completionHandler: { response in
debugPrint(response)
})
И в консоле буде ваш запрос в виде cURL.
$ curl -v \
-b "__cfduid=dd963d192e96b1eb5a7eca3f0af0ba8051589034780" \
-H "Accept-Encoding: gzip;q=1.0, compress;q=0.5" \
-H "Accept-Language: en;q=1.0, ru-RU;q=0.9" \
-H "User-Agent: AlamofireMagic/1.0 (ru.4gophers.AlamofireMagic; build:1; iOS 13.4.1) Alamofire/4.9.1" \
"https://jsonplaceholder.typicode.com/posts/1"
На самом деле, все еще проще. С версии 5 в библиотеке уже есть встроенный обработчик. Достаточно написать так:
1AF.request("https://jsonplaceholder.typicode.com/posts/1")
2 .cURLDescription { description in
3 print(description)
4 }
5 .responseJSON( completionHandler: { response in
6 debugPrint(response)
7 })
И результат будет точно таким же
Ссылки
- Документация по Alamofire
- Отличный туториал по Alamofire на raywenderlich.com