У меня есть веб-приложение Spring MVC и я использую Hibernate для постоянного хранения.
У меня есть таблица транспортных средств.Каждый автомобиль имеет уникальный идентификатор.
На одной веб-странице в моем приложении перечислены все автомобили (www.example.com/vehicles).Нажав на ссылку, вы попадете на страницу сведений об этом транспортном средстве с помощью параметра GET идентификатора транспортного средства (www.example.com/vehicles?id=1234).
Это нормально, потому что если транспортное средство получаетПосле удаления из таблицы это транспортное средство больше не отображается на странице со списком всех транспортных средств, поэтому ссылка для щелчка отсутствует.
Однако, если кто-то предоставляет идентификатор транспортного средства, которого не существует (например, они отметили путь к определенному транспортному средству, но с тех пор это транспортное средство было удалено - например, www.example.com/vehicles?id=1234), и этого транспортного средства больше нет в базе данных, есть исключение.
Vehicle vehicle = vehicleDAO.findById(id);
Validate.notNull(vehicle, "There is no vehicle by this ID.");
Мой контроллер достигнет этих двух строк и сгенерирует исключение IllegalArgumentException в строке с Validate.notNull.Как я могу кодировать обработчик всего сайта для изящного сообщения посетителю сайта сообщения, которое появляется в этом утверждении Validate.notNull?
Я думаю, что утверждения Validate.notNull полезны во всем моем коде, и я 'Я хотел бы отправлять свои сообщения вплоть до окна браузера, чтобы посетитель не просто увидел какую-то общую страницу 500 Ошибка.
Это относится не только к моей таблице «Транспортные средства», но и ко всему.
Было бы неплохо иметь всего один бит кода, который изящно решает эту проблему для всех контроллеров по всему сайту.
Спасибо!