Java RestTemplate зависает на 204 ответа кода состояния - PullRequest
0 голосов
/ 09 октября 2018

Я создаю тестовую среду и использую класс RestTemplate для создания HTTP-запроса.

В общих случаях я использую следующий код:

Response response = null;
    ResponseEntity<String> responseEntity = null;

    try{
        responseEntity = getRest().exchange(url, httpMethod, httpEntity, String.class);
        response = new Response(
                responseEntity.getStatusCodeValue(),
                responseEntity.getStatusCode().getReasonPhrase(),
                responseEntity.getBody(),
                responseEntity.getHeaders()
        );
    } catch (HttpStatusCodeException e){
        response = new Response(
                e.getRawStatusCode(),
                e.getStatusText(),
                e.getResponseBodyAsString(),
                e.getResponseHeaders()
        );
    }

Он отлично работает для всех случаев, кроме метода УДАЛИТЬ HTTP, который получает 204 кода состояния и пустое тело в качестве ответа.

Теперь мне нужно заново инициализировать RestTemplate, чтобы исправить это.Но я надеюсь, что должен существовать другой путь.

Не могли бы вы помочь мне с этим?

1 Ответ

0 голосов
/ 09 октября 2018

Пожалуйста, проверьте, используете ли вы HttpMethod.Delete для httpMethod, а также попробуйте, когда вы используете delete, чтобы указывать в качестве последнего параметра обмена не String.class, а Void.class.

Надеюсь, это поможет вам.

...