Я пытаюсь создать маршрут по умолчанию в моем REST API Laravel 4, который попадает, когда ни один из моих других определенных маршрутов не соответствует запросу, чтобы вернуть конкретную ошибку вызывающему.
Это возможно? К сожалению, я ничего не нашел в документах, поэтому я поиграл и попробовал использовать подстановочный знак ( *
) в качестве последнего определения маршрута на моих routes.php
но это не работает.
Route::when("*", function(){ throw new CustomizedException('Route not found...'); });
Когда у меня есть этот маршрут и выполняю artisan routes
, я получаю исключение: {"error":{"type":"ErrorException","message":"Object of class Closure could not be converted to string","file":"\/Applications\/MAMP\/htdocs\/CampaigningTools\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Console\/RoutesCommand.php","line":153}}
Вызов несингулярного маршрута не вызывает мое настроенное исключение, но стандартное: {"error":{"type":"Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException","message":"","file":"\/Applications\/MAMP\/htdocs\/CampaigningTools\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Router.php","line":1429}}
Я также попытался использовать any
как было предложено в этом посте , но это также не работает:
Route::any( '(.*)', function( $page ){ throw new ValidationException('Custom error'); });
Этот маршрут также не срабатывает, когда я вызываю несуществующий маршрут.
Любые намеки, что я делаю неправильно, будут оценены.