/
java56
/
Hotels
Обзор
Документация
Войти
/
java56
/
Hotels
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/org/mikhail/exceptions/handlers/GlobalExceptionHandler.java
35 строк
2 KB
Mikhail Gorbatenkov
49 - edit the exception handler
03 фев 2025, 15:09
03 фев 2025, 15:09
2910130
Код
Авторство
О чём код?
package org.mikhail.exceptions.handlers; import jakarta.ws.rs.core.Response; import jakarta.ws.rs.ext.ExceptionMapper; import jakarta.ws.rs.ext.Provider; import lombok.extern.slf4j.Slf4j; import org.mikhail.exceptions.AddressLinkedToHotelException; import org.mikhail.exceptions.AddressNotFoundException; import org.mikhail.exceptions.HotelNotFoundException; import org.mikhail.exceptions.responses.ErrorResponse; @Slf4j @Provider public class GlobalExceptionHandler implements ExceptionMapper<RuntimeException> { @Override public Response toResponse(RuntimeException exception) { return switch (exception) { case AddressNotFoundException addressNotFoundException -> Response.status(Response.Status.NOT_FOUND) .entity(new ErrorResponse(exception.getMessage())) .build(); case HotelNotFoundException hotelNotFoundException -> Response.status(Response.Status.NOT_FOUND) .entity(new ErrorResponse(exception.getMessage())) .build(); case AddressLinkedToHotelException addressLinkedToHotelException -> Response.status(Response.Status.NOT_FOUND) .entity(new ErrorResponse(exception.getMessage())) .build(); default -> Response.status(Response.Status.INTERNAL_SERVER_ERROR) .entity(new ErrorResponse("Внутренняя ошибка сервера")) .build(); }; } }