如何使用 responseDecodable 而不是使用 Alamofire 6 的 responseJSON
How to use responseDecodable instead of responseJSON using Alamofire 6
由于使用 Alamofire 时 JSON 序列化失败,我的一个应用程序不再工作。
'responseJSON(queue:dataPreprocessor:emptyResponseCodes:emptyRequestMethods:options:completionHandler:)'
is deprecated: responseJSON deprecated and will be removed in
Alamofire 6. Use responseDecodable instead.
对于具有以下行的代码
AF.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: [:]).responseJSON { response in.. }
更改为
时
AF.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: [:])
.responseDecodable { response in... }
然后我得到错误
Generic parameter 'T' could not be inferred
所以我添加以下内容
AF.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: [:])
.responseDecodable(of: ResponseType.self) { response in.. }
我收到错误
Cannot find 'ResponseType' in scope
有人有什么建议吗?
与 .responseJSON
不同,returns 字典或数组 .responseDecodable
将 JSON 反序列化为结构或 类。
您必须创建一个符合 Decodable
的适当模型,在您的代码中它由 ResponseType(.self)
表示。
success
案例的关联值是模型的根结构。
但已弃用(黄色警告)表示 API 仍在运行。
旁注:JSON 字典是 never [String: Any?]
值始终是 non-optional.
由于使用 Alamofire 时 JSON 序列化失败,我的一个应用程序不再工作。
'responseJSON(queue:dataPreprocessor:emptyResponseCodes:emptyRequestMethods:options:completionHandler:)' is deprecated: responseJSON deprecated and will be removed in Alamofire 6. Use responseDecodable instead.
对于具有以下行的代码
AF.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: [:]).responseJSON { response in.. }
更改为
时AF.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: [:])
.responseDecodable { response in... }
然后我得到错误
Generic parameter 'T' could not be inferred
所以我添加以下内容
AF.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: [:])
.responseDecodable(of: ResponseType.self) { response in.. }
我收到错误
Cannot find 'ResponseType' in scope
有人有什么建议吗?
与 .responseJSON
不同,returns 字典或数组 .responseDecodable
将 JSON 反序列化为结构或 类。
您必须创建一个符合 Decodable
的适当模型,在您的代码中它由 ResponseType(.self)
表示。
success
案例的关联值是模型的根结构。
但已弃用(黄色警告)表示 API 仍在运行。
旁注:JSON 字典是 never [String: Any?]
值始终是 non-optional.