我有一個用Laravel PHP框架編寫的應用程序。我的主應用程序監聽404和500事件。如何使用laravel捆綁包以不同方式響應404/500錯誤?
Event::listen('404', function()
{
return Response::error('404');
});
Event::listen('500', function()
{
return Response::error('500');
});
這顯示我的自定義錯誤頁面的用戶。但是現在,我還構建了一個API,它生活在一個名爲api的包中。這個API將通過Ajax使用,所以我想以不同的方式處理錯誤。所以我加了這些事件的API捆綁的routes.php文件:
Event::listen('404', function()
{
return Response::json(array('status' => 'error', 'message' => 'API endpoint not found.'));
});
Event::listen('500', function()
{
return Response::json(array('status' => 'error', 'message' => 'Internal server error'));
});
不幸的是,這並不工作,但仍顯示HTML錯誤頁面。如何根據API或主應用程序對404/500錯誤做出不同的響應?
謝謝!
斯蒂芬在那裏有一個體面的答案,如果沒有內置方法找不到,我會去。問題:你的api包是否指定''處理'bundles.php'中的'api'路由? (可能是一個愚蠢的問題...) –
是的,我指定了。 – EsTeGe