我試圖在我的Laravel 4 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
作爲建議in this post,但這也不起作用:
Route::any('(.*)', function($page){
throw new ValidationException('Custom error');
});
當我呼叫不存在的路線時,此路線也不會發射。
任何提示,我做錯了,將不勝感激。
非常感謝你 –