我正在尝试通过 Alamofire 向我的服务器发出发布请求,但它返回一个错误请求,表示参数格式错误。相同的请求在 postman 和招摇中工作。
代码如下:
var params = [
"username": "jora@company.com",
"password": "test123",
"pushToken": "No token"
]
Alamofire.request("https://thankyouposta.com/api/auth", method: .post, parameters: params, encoding: URLEncoding.default, headers: R.Api.headers).responseJSON { response in
switch response.result {
case .success(let value):
// ...
case .failure(let error):
// ...
}
}
更新 1
参数需要作为表单 url 编码正文发送
更新 2
R.Api.headers 的值为
["Content-Type" : "application/x-www-form-urlencoded"]
最佳答案
如果你想以 form-urlencoded 的形式发送请求,你应该把它作为一个标题并改变你的编码:
let headers = [
"Content-Type": "application/x-www-form-urlencoded"
]
var params = [
"username": "jora@company.com",
"password": "test123",
"pushToken": "No token"
]
Alamofire.request("your_url_here", method: .post, parameters: parameters, encoding: URLEncoding.httpBody, headers: headers).responseJSON { response in
}
关于ios - Alamofire POST 错误请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47000491/