HttpClientErrorException
всегда дает мне следующий результат:
HttpClientErrorException: 400 null
... и нулевая часть это то, что беспокоит меня. Разве это не должно быть место, где должно быть сообщение об исключении на стороне сервера?
Я проверил исходный код клиента HTTP, чтобы увидеть, где выдается исключение на стороне клиента. Это выглядит так:
throw new HttpClientErrorException(statusCode, response.getStatusText(), response.getHeaders(), getResponseBody(response), getCharset(response));
Отладка этого вызова показала, что response.getStatusText()
является нулевым в моем случае.
У меня вопрос: как спроектировать ResponseEntity на стороне сервера таким образом, чтобы HTTP-клиент находил сообщение об исключении на стороне сервера в response.getStatusText () вместо null?
Вот мое исключение
@ExceptionHandler({ MyCustomException.class })
public ResponseEntity<String> handleException(final HttpServletRequest
req, final MyCustomException e) {
HttpHeaders headers = new HttpHeaders();
headers.set("Content-type", "text/plain");
String body = e.toString();
return new ResponseEntity<>(body, headers, HttpStatus.BAD_REQUEST);
* *} Тысяча двадцать-один