Ответ не может быть сериализован, входные данные были нулевыми или нулевой длины - PullRequest
0 голосов
/ 05 мая 2020

Если я сделал запрос с помощью почтальона, он ответил нормально, но если я попытаюсь использовать его в своем приложении, вернет следующую ошибку:

«Ответ не может быть сериализован, входные данные были нулевыми или нулевой длины . "

вот как я делаю свой запрос в SwiftUI

        let headers: HTTPHeaders = [
        .authorization(bearerToken: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6Im5yb2NoYSIsImNvcnJlb0VsZWN0cm9uaWNvIjoibmVzdG9yLnJvY2hhQGZvcnRlaW5ub3ZhdGlvbi5teCIsInRpcG9Mb2dpbiI6IjIiLCJqdGkiOiJjOGIwZWQ1MC1hY2UxLTQ2MzItYjQxOS1mZjI0NWEzOTkyYWMiLCJleHAiOjE1ODg3MDAwNzN9.TQxA9c9TzqtDbFJSbnWMIK_vUshdVWG5kUnSN2c4Gk8"),
        .accept("application/json")
           ]


    AF.request("http://192.168.0.14:81/api/visitas/movil/dia-en-curso/usuario/2020/dia/=05%2F05%2F2020", headers:  headers).responseJSON{ response in
  switch(response.result){
        case .success(let response):
            print(response)
        case .failure(let error):
            print(error.localizedDescription)
  }
}

Я не знаю, что делаю не так, потому что это то же самое, что я вставил в Postman

1 Ответ

0 голосов
/ 05 мая 2020

По умолчанию Alamofire считает ответы, которые возвращают код ответа 200, но не данные, неправильными и выдает ошибку. Обновление сервера для возврата статуса 204 или 205 исправит это правильно. В качестве альтернативы вы можете создать свой собственный экземпляр JSONResponseSerializer с соответствующими ожидаемыми пустыми кодами ответа и использовать его для обработки ответов.

AF.request(...).response(responseSerializer: customSerializer) { response in

}
...