[英]Handle non JSON Response with Generic Codable API client
我有一个API客户端,该客户端使用符合Codable协议的通用API响应,并使用JSONDecoder
解码响应,如下所示,如何处理不返回JSON的响应(已创建状态代码201)?
dataRequest.validate().responseJSON { response in
if let error = response.error {
completion(.failure(error.localizedDescription))
} else if let data = response.data {
do {
let apiResponse = try JSONDecoder().decode(T.Response.self, from: data)
completion(.success(apiResponse))
} catch {
completion(.failure(error.localizedDescription))
}
} else {
completion(.failure("Something went wrong, please try again later."))
}
}
它返回此错误:响应无法序列化,输入数据为nil或零长度
在这种情况下,您可以查看response
的statusCode
属性(假设它是HTTPURLResponse
),然后确定是否有要解析的正文。 我将在错误检查后立即将其放置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.