让 Laravel API 永远返回 JSON 格式响应

让 Laravel API 永远返回 JSON 格式响应,第1张

概述让 Laravel API 永远返回 JSON 格式响应

当你在编写完全为 API 服务的 Laravel 应用时,你希望所有响应都是 JsON 格式的,而不是例如说授权错误会重定向到 /home 或 /login,最终重定向会变成 invalidargumentexception: Route [login] is not defined. 的视图。

推荐教程:《laravel教程》

下面这个简单的方案,可以让你的 Laravel 应用优先响应为 JsON 格式。

第一步、编写 BaseRequest

首先我们需要构建一个 BaseRequest 来重写 Illuminate\http\Request ,修改为默认优先使用 JsON 响应:

app/http/Requests/BaseRequest.PHP

<?PHPnamespace App\http\Requests;use Illuminate\http\Request;class BaseRequest extends Request{    public function expectsJson()    {        return true;    }    public function wantsJson()    {        return true;    }}

第二步、替换 BaseRequest

在 public/index.PHP 文件中,将 \Illumiate\http\Request 替换为我们的 BaseRequest,如下:

$response = $kernel->handle(    $request = \App\http\Requests\BaseRequest::capture());

搞定!

现在所有的响应都是 application/Json ,包括错误和异常。

来自于社区 https://learnku.com/laravel/wikis/16069

总结

以上是内存溢出为你收集整理的让 Laravel API 永远返回 JSON 格式响应全部内容,希望文章能够帮你解决让 Laravel API 永远返回 JSON 格式响应所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1231306.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存