【Swift,Alamofire】:响应验证失败,错误码为400。

6

我的问题基本上就在标题中。我试图运行的代码如下所示:

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,但我不认为这 necessarily与问题有关。
非常感谢您的任何帮助。

你能检查一下 unfollow 变量的值并将其添加到帖子中吗?我怀疑字符串中有很多 Optional(…) - user28434'mstep
1个回答

11
错误日志 responseValidationFailed(Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(400)) 明确显示了您正在遇到400错误。这在W3.org中被解释为:

400 Bad Request: 由于语法错误,服务器无法理解请求。客户端不应在未经修改的情况下重复请求。

因此,您需要检查您的请求URL是否正确。

另外,您正在使用请求的 validate() 方法,该方法应获取响应状态码 200...299,但您得到的响应代码是 400。这就是为什么错误日志中将其标记为 unacceptableStatusCode(400) 的原因。

也请查看此链接


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接