这个对我有用。
不需要删除编码参数。
针对 Swift 5.x 的更新
Alamofire 使用了在Swift 5中引入的Result
类型。此外,Alamofire.request
已更改为AF.request
,它现在将使用.success
和.failure
来读取它们的switchresponse.result
值。
AF.request("https://yourServiceURL.com", method: .get, parameters: [:], encoding: URLEncoding.default, headers: ["":""]).responseJSON { (response) in
switch response.result {
case let .success(value):
print(value)
case let .failure(error):
print(error)
}
}
Swift 3.x / 4.x
Alamofire.request("https://yourServiceURL.com", method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: nil).responseJSON { (response:DataResponse<Any>) in
switch(response.result) {
case .success(_):
if let data = response.result.value{
print(response.result.value)
}
break
case .failure(_):
print(response.result.error)
break
}
}
确保参数的类型正确
[String:Any]?
如果是 Get 请求
Alamofire.request("https://yourGetURL.com", method: .get, parameters: ["":""], encoding: URLEncoding.default, headers: nil).responseJSON { (response:DataResponse<Any>) in
switch(response.result) {
case .success(_):
if let data = response.result.value{
print(response.result.value)
}
break
case .failure(_):
print(response.result.error)
break
}
}
即使在
之后也起作用。
JSONEncoding.default
关于请求头
如果您要传递请求头,请确保他们的类型是[String:String]
请参阅参数编码链接
https://github.com/Alamofire/Alamofire/blob/master/Documentation/Alamofire%204.0%20Migration%20Guide.md#parameter-encoding-protocol