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

Я использую API Instagram, кстати, но я не думаю, что это обязательно связано с вопросом.

Любая помощь очень ценится.

+0

Вы можете проверить значение переменной 'unfollow' и добавить ее в сообщение. Я подозреваю, что у вас есть куча 'Необязательный (...)' в строке. – user28434

ответ

5

Ошибка протокола erroValidationFailed (Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode (400)) ясно показывает, что вы получаете 400 ошибок. Что объясняется в W3.org в

400 Bad Request: Запрос не может быть понят сервером из-за некорректного синтаксиса. Клиент НЕ ДОЛЖЕН повторять запрос без изменений.

Таким образом, вам необходимо запросить URL-адрес, если он правильный.

Кроме того, вы используете метод запроса validate(), который должен получить коды статуса ответа 200 ... 299, но вы получаете 400 в качестве кода ответа. Вот почему он упоминается как неприемлемыйStatusCode (400) в журнале ошибок.

Seel this также.

Смежные вопросы