使用 Alamofire (swift 4) 向 api 端点(表单编码内容类型)发出请求,并通过登录传递用户名和密码。在 POSTMAN 中进行测试时,此端点可以正常工作并返回有效的 JSON(见下文)。
我的swift代码如下:
let headers = [
"content-type": "application/x-www-form-urlencoded",
"cache-control": "no-cache"
]
let parameters = [
"username": "user@user.com",
"password": "password"
]
Alamofire.request("https://xxxxx.com/api/login/", method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: headers).responseJSON { response in
print(response)
}
我得到的响应如下:
FAILURE: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}))
如有任何见解,我们将不胜感激!
最佳答案
将 JSONEncoding.default
更改为 URLEncoding.default
,如下所示,
Alamofire.request("https://xxxxx.com/api/login/", method: .post, parameters: parameters, encoding: URLEncoding.default, headers: headers).responseJSON { response in
print(response)
}
关于swift - Alamofire 表单编码的 POST 请求因 responseSerializationFailed 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52395136/