gpt4 book ai didi

ios - 使用 Alamofire 处理未知内容类型的响应

转载 作者:搜寻专家 更新时间:2023-11-01 06:47:26 25 4
gpt4 key购买 nike

我使用 Alamofire 向休息服务发出请求。如果请求成功,服务器将返回内容类型为 application/jsonJSON。但如果请求失败,服务器将返回一个简单的 String

所以,我不知道如何用 Alamofire 处理它,因为我不知道响应是什么样子的。我需要一个解决方案来处理不同的响应类型。

我可以用来处理成功请求的代码:

request(.POST, wholeUrl, parameters: parameters, encoding: .Custom(encodingClosure))
//.validate()
.responseJSON {
(request, response, data, error) -> Void in

//check if error is returned
if (error == nil) {
//this crashes if simple string is returned
JSONresponse = JSON(object: data!)
}

我可以使用这段代码来处理失败的请求:

    request(.POST, wholeUrl, parameters: parameters, encoding: .Custom(encodingClosure))
//.validate()
.responseString {
(request, response, data, error) -> Void in

//check if error is returned
if (error == nil) {
responseText = data!
}

最佳答案

不要指定响应类型,也不要注释掉 .validate()。检查错误,然后相应地进行

request(.POST, wholeUrl, parameters: parameters, encoding: .Custom(encodingClosure))
.validate()
.response {
(request, response, data, error) -> Void in

//check if error is returned
if (error == nil) {
//this is the success case, so you know its JSON
//response = JSON(object: data!)
}
else {
//this is the failure case, so its a String
}
}

关于ios - 使用 Alamofire 处理未知内容类型的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28816895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com