如何在 Laravel 8 中处理 NotFoundHttpException?

Sha*_*ain 3 api laravel

我正在 Laravel 8 中开发 API。我想将 NotFoundHttpException 处理为 json 响应。但是 App\Exception\Handler 在 Laravel 8 中更新了。默认情况下渲染方法不存在。所以我不明白我想做什么。我在 Laravel 文档中阅读过。

lag*_*box 8

您可以根据文档使用自定义回调App\Exceptions\Handler

use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;

public function register()
{
    $this->renderable(function (NotFoundHttpException $e, $request) {
        return response()->json(...);
    });
}
Run Code Online (Sandbox Code Playgroud)

如果您accept随请求发送正确的标头,异常处理程序将已经返回 JSON 响应。

Laravel 8.x 文档 - 错误处理 - 渲染异常