2017-02-21 225 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也。