我们如何调试设置到后端服务器的请求?
我希望能够准确地看到或打印出带有标头参数等的完整请求......每当我提出任何请求时,这些请求都会被发送到服务器 Moya
Ham*_*ari 12
这是通过激活Moya已经拥有的插件来完成的。它是NetworkLoggerPlugin。我需要更改这行代码:
var provider = MoyaProvider<MainAPI>()
Run Code Online (Sandbox Code Playgroud)
和:
var provider = MoyaProvider<MainAPI>(plugins: [NetworkLoggerPlugin(verbose: true)])
Run Code Online (Sandbox Code Playgroud)
感谢@Anbu.Karthik
从 Moya 14.0 开始,您需要执行以下操作:
let loggerConfig = NetworkLoggerPlugin.Configuration(logOptions: .verbose)
let networkLogger = NetworkLoggerPlugin(configuration: loggerConfig)
let provider = MoyaProvider<YourAPI>(plugins: [networkLogger])
Run Code Online (Sandbox Code Playgroud)
如果使用 14 的 Moya,您可以制作自己的详细插件,如下所示:
struct VerbosePlugin: PluginType {
let verbose: Bool
func prepare(_ request: URLRequest, target: TargetType) -> URLRequest {
#if DEBUG
if let body = request.httpBody,
let str = String(data: body, encoding: .utf8) {
print("request to send: \(str))")
}
#endif
return request
}
}
Run Code Online (Sandbox Code Playgroud)
并使用: let provider = MoyaProvider<AuthService>(plugins: [VerbosePlugin(verbose: true)])
对于 Moya 14.0 及以上版本,请像这样使用
let plugin: PluginType = NetworkLoggerPlugin(configuration: .init(logOptions: .verbose))
let provider = MoyaProvider<T>(plugins: [plugin])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3803 次 |
| 最近记录: |