php - Laravel 8 将所有异常返回为 json

标签 php json laravel exception

我试图将所有异常作为 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/

相关文章:

json - 无法使用 Circe JSON 解析器创建遍历 JSON 字符串的对象

json - 如何使用使用蛇形大小写(下划线表示法)而不是驼峰大小写的喷射 json 解析 json

laravel - 传递数据以从 Laravel 中的存储方法创建 View

php - 无法通过 PHP SDK V4 获取 Facebook 评论。错误: (#210) Subject must be a page

php - 同时疯狂混淆PHP OOP "implements" "extends"

PHP - 评估 IF 语句的最佳实践

laravel - 实际目录覆盖 Laravel 路由

PHP - Redis/Memcachedb/Mongodb 或其他持久存储来存储计数器

javascript - 如何用 Jasmine 测试这个 Javascript

php - 尝试在 Laravel 中通过通知返回存储值时出错