[Swift,Alamofire]:responseValidationFailed,错误代码为400

时间:2017-02-21 09:26:17

标签: swift post instagram alamofire

我的问题基本上在标题中。我试图运行的代码就在下面。 VVV

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,但我认为这不一定与问题有关。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:10)

错误日志responseValidationFailed(Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(400))清楚地显示您收到400错误。这在W3.org中解释为

  

400错误请求:   由于语法格式错误,服务器无法理解请求。客户不应该在没有修改的情况下重复请求。

因此,如果网址正确,您需要请求URL。

此外,您正在使用请求的validate()方法,该方法应该获得响应状态代码200 ... 299,但您将获得400作为响应代码。这就是为什么它在错误日志中被提及为不可接受的StatusCode(400)。

this。{/ p>