我试图将所有异常作为 jsons 而不是 Laravel 通常返回的 HTML,但我无法让它在 Laravel 8 中工作。
我发现有人在 Laravel 5 中使用/app/Exceptions/handler.php 中的以下代码
public function render($request, Exception $exception)
{
return response(['error'=>$exception->getMessage()], $exception->getCode() ?: 400);
}
我找到了 this他们解释如何让自定义异常以 json 形式返回的线程,但我无法让它适用于所有异常。
我试过这样做:
public function register()
{
$this->renderable(function (Exception $e, $request) {
return response()->json('errors.custom', [], 500);
});
}
我正在测试它的异常是 Route [login] not defined.
但它仍然返回 HTML
最佳答案
正如@apokryfos 所指出的,我问错了问题,将 Accept: application/json
作为请求中的 header 即可接收 json 格式的响应
关于php - Laravel 8 将所有异常返回为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64897053/