2

我正在使用Moya,需要为网络请求打印 cURL。

通常,在 Alamofire 4 中,我会这样做:

let req = Alamofire.request(someURLRequestConvertible)
debugPrint(req) // will print cURL

我的 Moya 呼叫站点如下所示:

MyMoyaProvider.request(MyEndPoints.login(params)) { (result) in }

我已经查看了 Moya 的文档,但我似乎无法获得我正在寻找的结果。我启用了NetworkLoggingPlugin但仍然不确定如何打印cURL某些请求。有人可以帮我找到将 Moya 打印到控制台request的正确方法吗?cURL

4

2 回答 2

5

如果你初始化你的NetworkLoggerPlugin,它的cURL标志false默认设置为。像初始化它NetworkLoggerPlugin(cURL: true)willSendRequest应该打印cURL.

根据GitHub 上的@BasThomashttps ://github.com/Moya/Moya/issues/1037#event-1027530791

于 2017-04-04T00:34:48.337 回答
1

对于 Moya 14.0.*

static fileprivate let provider = MoyaProvider<ApiService>(endpointClosure: { (target: ApiService) -> Endpoint in
    let defaultEndpoint = MoyaProvider.defaultEndpointMapping(for: target)
    switch target {
    default:
        let httpHeaderFields = ["Content-Type" : "application/json"]
        return defaultEndpoint.adding(newHTTPHeaderFields: httpHeaderFields)
    }
}, plugins: [
    NetworkLoggerPlugin(configuration: .init(formatter: .init(), output: { (target, array) in
        if let log = array.first {
            print(log)
        }
    }, logOptions: .formatRequestAscURL))
])
于 2019-11-21T17:27:59.457 回答