我对以下代码有疑问:
func request(url: URL, completionHandler: @escaping (AFDataResponse<Any>) -> Void) {
let httpResponse = fakeResponse.response
let data = fakeResponse.data
let error = fakeResponse.error
let result = Request.serializeResponseJSON(options: .allowFragments, response: httpResponse, data: data, error: error)
guard let url = urlBuild(queryType: "q", from: "0", to: "10", uri: nil) else { return }
let urlRequest = URLRequest(url: url)
completionHandler(AFDataResponse(request: urlRequest, response: httpResponse, data: data, result: result))
}
我在Alamofire 5中遇到以下错误:类型“请求”没有成员“ serializeResponseJSON”。
我是使用Swift和Alamofire进行开发的新手,在Alamofire 5中找不到与Request.serializeResponseJSON等效的方法。
在此先感谢您的帮助:)
答案 0 :(得分:0)
以前版本的Alamofire中的所有serialize
方法都已重构为具体类型。例如,serializeResponseJSON
已由JSONResponseSerializer
替换,您可以将其与response(responseSerializer:)
方法一起使用。但是,对于您的用法,您不需要直接创建实例,因为您可以将相同的参数传递给responseJSON
。我建议您将responseDecodable
类型的Decodable
而不是responseJSON
类型的使用,因为这将确保正确解析您的类型。
我还建议您通读我们的Usage,Advanced Usage和API文档,并在开始使用Alamofire时找到一些较新的教程。