当ModelNotFoundException发生时,我想返回一个 JSON 响应而不是默认的 404 错误页面。为此,我将以下代码写入app\Exceptions\Handler.php:
public function render($request, Exception $exception)
{
if ($exception instanceof ModelNotFoundException) {
return response()->json([
'error' => 'Resource not found'
], 404);
}
return parent::render($request, $exception);
}
Run Code Online (Sandbox Code Playgroud)
但是它不起作用。当ModelNotFoundException发生时,Laravel 只显示一个空白页面。我发现,即使是在宣告一个空的渲染功能Handler.php品牌Laravel上显示空白页ModelNotFoundException。
我该如何解决这个问题,以便它可以返回 JSON/执行覆盖渲染函数中的逻辑?