По умолчанию Spring возвращает сообщение:
{
"timestamp": "2019-01-17T16:12:45.977+0000",
"status": 500,
"error": "Internal Server Error",
"message": "Error processing the request!",
"path": "/my-endpoint-with-exceptions"
}
. В настоящее время приложение использует @RestControllerAdvice с @ExceptionHandler для каждого исключения. В каждом методе, в котором он использует ResponseEntity
@ExceptionHandler(GenericException.class)
public ResponseEntity<String> exceptionHandler(GenericException ex){
return new ResponseEntity<>(ex.getMessage,HttpStatus.BAD_REQUEST)
}
, дополнительно создается впечатление, что со временем появилось какое-то количество классов, которые используют примерно столько же времени, сколько используется по умолчанию.
лучше использовать Spring JSON по умолчанию, но, конечно, не хотите влиять на выполняемый в данный момент код. Поэтому мой вопрос заключается в том, чтобы только GenericException возвращало значение по умолчанию Spring JSON?
. Я пытался использовать ResponseStatusException, который действительно возвращал JSON, но по какой-либо причине возвращал только статус INTERNAL_SERVER_ERROR (500) даже при установке значения в аргумент.