«без исключений результата» для Spring @ Service's - PullRequest
2 голосов
/ 10 марта 2019

У меня есть несколько @Service в моем загрузочном приложении Spring, которые в основном выполняют вызовы API для некоторых внешних служб.

Предлагает ли Spring специальное исключение для своего рода исключения "404"?то есть элемент не найден / нет результата для запрошенного ключа.

Мне известен класс NoSuchElementException, но он здесь не совсем подходит.

Полагаю, я мог бысоздать свой собственный NoResultException, но я бы хотел следовать соглашению (если есть)

Спасибо!

Ответы [ 2 ]

2 голосов
/ 10 марта 2019

Не существует такого исключения, предоставляемого средой Spring для случая 404 или любого другого HttpStatus, в этом отношении.

В идеале вы должны обработать это на уровне службы на основе ответа API и создать специальное исключение, которое обозначает случай 404 в соответствии с вашим доменом. У вас может быть @ControllerAdvice, который обрабатывает конкретное исключение и предоставляет соответствующий ответ.

1 голос
/ 10 марта 2019

То, что вы можете использовать, это HttpStatusCodeException.Более подробная информация в документации .Примером конструктора является

HttpStatusCodeException(HttpStatus statusCode, java.lang.String statusText)

, где вы можете указать свой код, например 404 и сообщение.Брошенный в службу будет переведен в правильный http ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...