Код: Выделить всё
@ExceptionHandler(RuntimeException.class)
public ResponseEntity RuntimeExceptionHandler(RuntimeException e) throws JSONException {
JSONObject response = new JSONObject();
response.put("message", e.getMessage());
return new ResponseEntity(response, HttpStatus.BAD_REQUEST);
}
Код: Выделить всё
{
"timestamp": 1496377230943,
"status": 500,
"error": "Internal Server Error",
"exception": "javax.validation.ValidationException",
"message": "Name does not meet expectations",
"path": "/signup"
}
Все работает нормально, если я изменю JSONObject на String и передам строковое сообщение вместо объекта json. Я также поставил точку останова перед оператором return, и ответ выглядит нормально.
Примечание. Здесь есть еще одно сообщение, которое:
- Нет принятого ответа.
- Аннотирует метод с помощью @ResponseBody, чего я не делал.
- Не использует JSONObject
Подробнее здесь: https://stackoverflow.com/questions/443 ... ler-spring