Ios Alamofire-错误请求
恐怕我无法共享API url。但我查过邮递员,它是有效的。这是一个POST请求,以下是响应:Ios Alamofire-错误请求,ios,swift,alamofire,postman,objectmapper,Ios,Swift,Alamofire,Postman,Objectmapper,恐怕我无法共享API url。但我查过邮递员,它是有效的。这是一个POST请求,以下是响应: { "user_key": "b0aebdedb15e2beaaf479ca3c4f8227e8e970681" } 邮递员截图: 在代码中,这是我使用Alamofire发出的请求: Alamofire.request("some url", method: .post, parameters: params, encoding: URLEncoding.httpBody, header
{
"user_key": "b0aebdedb15e2beaaf479ca3c4f8227e8e970681"
}
邮递员截图:
在代码中,这是我使用Alamofire发出的请求:
Alamofire.request("some url", method: .post, parameters: params, encoding: URLEncoding.httpBody, headers: ["Content-Type":"application/json"])
.responseObject { (response: DataResponse<User>) in
let userResponse = response.result.value
print("")
}
还是没什么。我无法检索该值。然而,状态代码显示为400(错误请求)。
到底是什么<代码>JSON对象还是字符串
?如何修复此问题?请尝试替换
这个URLEncoding.httpBody
到JSONEncoding.default
JSONEncoding.default
使用JSONSerialization
创建parameters对象的JSON表示,该对象被设置为请求主体。编码请求的Content-Type
HTTP头字段设置为application/json
双重检查请求
方法
,编码
,端点
和标题
随阿拉莫菲尔
请求一起发送,并在邮递员
中发送。如果后端人员在附近,最好让他有点恼火:)错误400通常意味着服务器拒绝您的请求,因此没有返回任何用户数据,这就是用户响应为零的原因。@Kamran:如何检查邮递员的编码?@IgorN:是的。我已经提到了。请检查您的参数,并尝试将此URLEncoding.httpBody
替换为JSONEncoding.default
import ObjectMapper
class User: Mappable {
var authToken: String?
required init?(map: Map) {
}
func mapping(map: Map) {
self.authToken <- map["user_key"]
}
}
Alamofire.request("some url", method: .post, parameters: params, encoding: URLEncoding.httpBody, headers: ["Content-Type":"application/json"])
.responseString { (response: DataResponse<String>) in
let dataUser = response.data as! Any
let dataUser1 = response.data as! AnyObject
let error = response.error
let code = response.response?.statusCode
print(response.value)
print(response.result.value)
}