如何使用 codable 打印 alamofire 响应的结果
How to print result from alamofire response using codable
codable 的新手,我尝试为带有 codable 的 alamofire 创建一个 class,并尝试发出 api 请求。我遇到了一些 Swift.DecodingError.typeMismatch 错误,由于我的模型 class,我弄明白了。现在我需要的是在解码之前在 JSON(String) 甲酸盐中打印 alamofire 响应,以便我可以识别类型不匹配
static func performRequest<T:Decodable>(route:APIRouter, decoder: JSONDecoder = JSONDecoder(), completion:@escaping (Result<T,Error>)->Void) -> DataRequest {
return AF.request(route)
.responseDecodable (decoder: decoder){ (response: DataResponse<T>) in
print(response.result)
completion(response.result)
}
}
我想要一些代码来打印 alamofire 的实际结果
您可以通过从 DataResponse
:
抓取它来在 responseDecodable
闭包中打印原始 Data
print(response.data.map { String(decoding: [=10=], as: UTF8.self) } ?? "No data.")
您也可以添加一个单独的序列化程序来查看 String
:
.responseDecodable { }
.responseString { }
如果您只想查看调试响应,可以debugPrint
闭包中的响应。这会将请求和响应正文数据打印为 String
s.
.responseDecodable(of: T.self) { response in
debugPrint(response)
}
codable 的新手,我尝试为带有 codable 的 alamofire 创建一个 class,并尝试发出 api 请求。我遇到了一些 Swift.DecodingError.typeMismatch 错误,由于我的模型 class,我弄明白了。现在我需要的是在解码之前在 JSON(String) 甲酸盐中打印 alamofire 响应,以便我可以识别类型不匹配
static func performRequest<T:Decodable>(route:APIRouter, decoder: JSONDecoder = JSONDecoder(), completion:@escaping (Result<T,Error>)->Void) -> DataRequest {
return AF.request(route)
.responseDecodable (decoder: decoder){ (response: DataResponse<T>) in
print(response.result)
completion(response.result)
}
}
我想要一些代码来打印 alamofire 的实际结果
您可以通过从 DataResponse
:
responseDecodable
闭包中打印原始 Data
print(response.data.map { String(decoding: [=10=], as: UTF8.self) } ?? "No data.")
您也可以添加一个单独的序列化程序来查看 String
:
.responseDecodable { }
.responseString { }
如果您只想查看调试响应,可以debugPrint
闭包中的响应。这会将请求和响应正文数据打印为 String
s.
.responseDecodable(of: T.self) { response in
debugPrint(response)
}