2017-02-21 93 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) 

     } 

    }) 

私が受け取る正確なコンソールエラーがある:私は道によるInstagramのAPIを使用していますが、私はそれが必ずしも問題に関連していることはないと思うresponseValidationFailed(Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(400))

大変助かりました。

+0

'unfollow'変数の値をチェックしてポストに追加できますか?文字列に 'Optional(...)'がたくさんあると思われます。 – user28434

答えて

5

erro log responseValidationFailed(Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(400))は、400エラーが発生していることを明確に示しています。どの不正な要求400

として W3.orgで説明されています。 要求が不正な構文のために、サーバによって理解することができませんでした。クライアントは変更を加えずに要求を繰り返してはならない(SHOULD NOT)。

正しい場合は、URLをリクエストする必要があります。

また、応答ステータスコード200〜299を取得する必要があるrequestのvalidate()メソッドを使用していますが、レスポンスコードとして400を取得しています。それがエラーログにunacceptableStatusCode(400)として記載されている理由です。

Seel thisでもあります。

関連する問題