Kodazm

Дебаг для Alamofire запросов

Alamofire - библиотека, для работы с HTTP написанная на свифте. Она упрощает жизнь разработчикам в разы.

Когда пишешь сетевой код, часто возникает вопрос как его подебажить, посмотреть параметры, заголовки и тд. С Alamofire это просто.

Если у вас в проекте используется версия < 5, то вам нужно написать немного кода. Добавим вспомогательный метод к классу Request в отдельном файле Request+Debug.swift

import Foundation
import Alamofire

extension Request{
    public func debug() -> Self {
        #if DEBUG
        debugPrint(self)
        #endif
        return self
    }
}

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 в библиотеке уже есть встроенный обработчик. Достаточно написать так:

AF.request("https://jsonplaceholder.typicode.com/posts/1")
        .cURLDescription { description in
            print(description)
        }
        .responseJSON( completionHandler: { response in
            debugPrint(response)
        })

И результат будет точно таким же

Ссылки

comments powered by Disqus