2017-02-21 274 views
2

我的問題基本上是在標題中。我試圖運行的代碼就在下面。 VVV[Swift,Alamofire]:responseValidationFailed,錯誤代碼爲400

let unfollow = "https://api.instagram.com/v1/users/\(userID)/relationship?access_token=\(access_token)&action=unfollow" 

    Alamofire.request(unfollow, method: .post).validate().responseJSON(completionHandler: { 
     response in 

     switch response.result { 

     case .success(let value): 

      let data = JSON(value)["data"] 
      print(data["outgoing_status"].stringValue) 

     case .failure(let error): 
      print(error) 

     } 

    }) 

確切的控制檯錯誤我收到的是:responseValidationFailed(Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(400))

我使用順便把Instagram的API,但我不認爲這必然涉及到這個問題。

任何幫助非常感謝。

+0

你可以檢查'unfollow'變量的值並將其添加到帖子中。我懷疑你在字符串中有一堆'Optional(...)'。 – user28434

回答

5

錯誤日誌responseValidationFailed(Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(400))清楚地表明您得到400錯誤。由於語法錯誤 請求不能由服務器來理解:這是W3.org解釋

400錯誤的請求。客戶端不應該在沒有修改的情況下重複請求。

所以你需要chek你請求URL,如果它是正確的。

此外,您正在使用請求的validate()方法,它應該得到響應狀態代碼200 ... 299,但是您得到400作爲響應代碼。這就是爲什麼它在錯誤日誌中被提及爲不可接受的狀態碼(400)。

Seel this也。