Как сделать ошибку для json-ответа со статусом и сообщением?

Рейтинг: 0Ответов: 0Опубликовано: 26.07.2023

Я хочу прокидывать сообщение об ошибке, таким образом чтобы были поля

{
    "timestamp": "2023-07-26T13:30:53.428+00:00",
    "status": 400,
    "error": "Bad Request",
    "path": "/throws"
    "message": "Ошибка возникла по причине №100500"
}

К примеру, org.springframework.web.server.ResponseStatusException прокидывая вот так:

throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "Ошибка возникла по причине");

Приводит к такому json'у:

  {
        "timestamp": "2023-07-26T13:30:53.428+00:00",
        "status": 400,
        "error": "Bad Request",
        "path": "/throws"
    }

То есть сообщение об ошибке не передается, хотя выходной json почти устраивает - передает код ошибки, название ошибки, часть url запроса. Пробовал от него унаследоваться и добавить поле - ничего не вышло.

Вопрос: есть ли в спринге какой-нибудь класс ошибки, схожий по функционалу с ResponseStatusException, такой чтобы в него засунуть причину(сообщение об ошибке), статус, код ошибки, время и часть url?. Если нет, как сделать класс ошибки с такими полями, чтобы из любого места контроллера кинуть и получить в постмане подобное сообщение.

Ответы

Ответов пока нет.