На самом деле, redirect предназначен для использования на контроллерах, а не в сервисах.Сервисы должны содержать только логику вашего бизнеса, а не маршрутизацию.Маршрутизация - это роль контроллеров.Более того, если вы генерируете исключение, а затем перенаправляете, кто возьмет это исключение?
Я думаю, что лучший способ - перехватить исключение, выданное службой на уровне контроллера, затем выполнить перенаправление.
Вы можете просмотреть более подробную команду перенаправления здесь .