我有一个用 Laravel PHP 框架编写的应用程序。我的主应用程序监听 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 错误做出不同的响应?
谢谢!