【发布时间】:2017-04-25 19:04:08
【问题描述】:
我在 Alamofire 和 JSON 方面的经验很少。我在互联网上搜索了很多,并在提出这个问题之前尽我所能,所以请理解我。
我正在尝试使用 Alamofire 使用 .put 方法发送参数。
当我用 PostMan(Chrome Extension) 测试发送参数时,一切正常。
参数是这样的
update_values : {"address":"Sanchaung", "phone":["095567890", "094272732"], "emergency_phone":[{"name":"someone", "phone":"3454234"},{"name":"sometwo", "phone":"3454234"}]}
“address”是字符串,“phone”是字符串数组,“emergency_phone”是 字典数组
我这样在swift3中声明参数
let ep : NSDictionary = [
"name" : "someone",
"phone" : "12345"
]
let uv : NSDictionary = [
"address" : "Sanchaung",
"phone" : ["123","1234"],
"emergency_phone" : [ep,ep]
]
let parameters = [
"update_values" : uv
]
然后像这样用 Alamofire 发送
Alamofire.request("http://myLink.com/api/employees/10?auth_token=\(vc.userInform.auth_token)", method: .put, parameters: parameters, encoding: JSONEncoding.default, headers: nil)
.validate()
.responseJSON { response in
switch(response.result)
{
case .success(let JSON) :
case .failure(let error) :
print(" UPDATING ERROR IS \(error)")
}
}
然后我收到状态码 500 错误
UPDATING ERROR IS responseValidationFailed(Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(500))
我收到该错误是因为我的参数不是可接受的类型吗? 如何以正确的方式发送该参数?
请帮我解决这个问题。谢谢。
【问题讨论】:
标签: swift parameters swift3 alamofire