我對Alamofire和JSON事物的經驗很少。我在網上搜了很多,在問這個問題之前盡力而爲,所以請理解我。發送複雜參數與Alamofire Swift3獲取狀態代碼500錯誤
我想發送一個參數與.put
方法使用Alamofire。
當我測試發送參數與PostMan(Chrome擴展),一切都很好。
的參數是這樣
update_values : {"address":"Sanchaung", "phone":["095567890", "094272732"], "emergency_phone":[{"name":"someone", "phone":"3454234"},{"name":"sometwo", "phone":"3454234"}]}
「地址」 是字符串, 「電話」 是字符串的數組, 「emergency_phone」 是 陣列字典
的我聲明參數in swift3 like this
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))
我收到的錯誤,因爲我的參數是不能接受的類型? 如何以正確的方式發送該參數?
請幫我解決這個問題。謝謝。
謝謝你的回答,但它仍然不起作用。我打印了JSNSerialization'json serializationOptional(「{\ n \」update_values \「:{\ n \」phone \「:[\ n \」123 \「,\ n \」1234 \「\ n] 「emergency_phone \」:[\ n {\ n \「phone \」:\「12345 \」,\ n \「name \」:\「someone \」\ n},\ n {\ n \「phone \」 :\「12345 \」,\ n \「name \」:\「someone \」\ n} \ n],\ n \「address \」:\「Sanchaung \」\ n} \ n}「)'但我不知道我能通過比較結果來達到什麼目的。 –
好的,包含您的授權令牌空間字符? –
我序列化的紫外線,它的工作。非常感謝你 –