2017-01-18 3 views
1

Я работаю на Alamofire и я пытаюсь отправить запрос на сервер, как это:Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode (500)

func sendRequest() { 

    print("fire now----------------------------------------------") 

    let parameters: Parameters = ["user": "001", "name": "josh"] 

    print(parameters) 
    let a = Alamofire.request("http://120.77.252.96:8388/", method: .get, parameters: parameters, encoding: URLEncoding.default).validate(statusCode: 200..<500).responseJSON(completionHandler: {responds in 
     switch responds.result { 
     case .success(let value): 
      let json = JSON(value) 
      print("JSON: \(json)") 
     case .failure(let error): 
      print(error) 
     }} 
    ) 
    print(a) 

} 

Но я постоянно получаю ошибки как это:

Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode (500)

и когда я проверить на стороне сервера, то кажется, что тело запроса пуст.
Может ли кто-нибудь помочь мне с этим? Спасибо!

ответ

3

Я была такая же проблема, мой друг, и я решил, изменив код состояния с

validate(statusCode: 200..<500) 

в

validate(statusCode: 200..<600) 

Я новичок в Alamofire, так что я не могу дать вам объяснение почему и как это работает или что означает ошибка.

+0

Я понял, что моя проблема была с сервером, но спасибо человеку! – JoshJoshJosh

0

Объяснение принятого ответа Кирилла:

функции HTTP сервер обычно возвращают код статуса, который указывает, что произошло во время обработки запроса. Alamofire может прочитать это, чтобы определить, действительно ли ответ, или произошла ошибка. В зависимости от того, как был реализован ваш сервер, вы можете указать Alamofire диапазон кодов состояния, которые вы считаете «действительным» ответом, вы делаете это, предоставляя этот диапазон функции validate(). Например, .validate(statusCode: 200..<500) сообщает Alamofire, что любой ответ с кодом состояния 200 до 499 должен считаться действительным, любой другой код (включая 500) должен быть недействительным.

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

  • Нет связанных вопросов^_^