Spring + Wicket REST обработчики исключений - PullRequest
0 голосов
/ 08 мая 2019

Я не знаю, как начать вопрос, но позвольте мне дать вам некоторую информацию о настройке приложения.

Проект весенний + калитка, и все в порядке.Существуют настройки страниц с ошибками (400, 401, 403 ... и т. Д.), Которые будут отображаться при возникновении ошибок.

Теперь необходимо добавить некоторые API-интерфейсы, используя apache wicket, и теперь все работает.Проблема в том, что, когда я получаю исключение / ошибку, отображается страница ошибки.

Я хотел создать конкретное исключение и обработчик для API, а не перенаправлять на страницу ошибки.

В моем другом проекте, который в основном покоится, я использую подобный совет контроллера (Глобальный обработчик исключений) для обработки ошибок.

Теперь ошибки перенаправляются на конкретную страницу ошибок (настроенную в web.xml).Изменение существующего файла web.xml невозможно.

Можно ли не трогать текущий web.xml ... но я могу создавать новые исключения и обработчики исключений для API?

Пожалуйстаобратите внимание, что API-интерфейсы создаются с использованием остальной части калитки (apache wicket).

TIA

1 Ответ

0 голосов
/ 08 мая 2019

Вы можете использовать пользовательский IRequestCycleListener, который реализует #onException(). Если вы хотите обработать переданное исключение, верните ненулевое IRequestHandler, в противном случае верните null и разрешите обработчику по умолчанию с ним справиться, то есть настроенные страницы в web.xml.

Для настройки слушателя выполните:

application.getRequestCycleListeners().add(new MyRequestCycleListener());
...