资讯专栏INFORMATION COLUMN

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

Alan / 1978人阅读

摘要:当你在编写完全为服务的应用时,你希望所有响应都是格式的,而不是例如说授权错误会重定向到或,最终重定向会变成的视图。下面这个简单的方案,可以让你的应用优先响应为格式。

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

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

第一步、编写 BaseRequest

首先我们需要构建一个 BaseRequest 来重写 IlluminateHttpRequest ,修改为默认优先使用 JSON 响应:

app/Http/Requests/BaseRequest.php


第二步、替换 BaseRequest

public/index.php 文件中,将 IllumiateHttpRequest 替换为我们的 BaseRequest,如下:

$response = $kernel->handle(
    $request = AppHttpRequestsBaseRequest::capture()
);
搞定!

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

来自于社区 WIKI https://laravel-china.org/wik...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29390.html

相关文章

  • Laravel核心解读--异常处理

    摘要:请求未通过的验证时会抛出此异常。异常处理是非常重要但又容易让开发者忽略的功能,这篇文章简单解释了内部异常处理的机制以及扩展异常处理的方式方法。 异常处理是编程中十分重要但也最容易被人忽视的语言特性,它为开发者提供了处理程序运行时错误的机制,对于程序设计来说正确的异常处理能够防止泄露程序自身细节给用户,给开发者提供完整的错误回溯堆栈,同时也能提高程序的健壮性。 这篇文章我们来简单梳理一下...

    includecmath 评论0 收藏0
  • Laravel+Dingo/Api 自定义响应

    摘要:在最近的开发开发项目中,我使用了这个第三方库。是个很强大的库,但在开发的过程中,需要自定义响应字段。刚开始使用时,返回如下手机号格式不正确这是输入字段验证错误时,返回的结果。尤其是,需要对每一个对象进行新建,然后序列化。 在最近的开发开发项目中,我使用了Dingo/Api这个第三方Api库。Dingo是个很强大的Api库, 但在开发的过程中,需要自定义响应字段。 刚开始使用Ding/A...

    xcold 评论0 收藏0
  • Laravel 程序架构设计思路:使用动作类

    摘要:一个动作类,应该有一个能够说明其功能的名字,比如等。如果需要对我们的动作类实现某种适配器模式,这是非常方便的。使用单动作类的好处小巧而单一的逻辑域能够防止代码重复并提高代码的可重用性,保持稳定。易于针对各种场景进行独立测试。 showImg(https://segmentfault.com/img/remote/1460000015208092); 当我们谈论到应用程序的架构的时候,经...

    Caicloud 评论0 收藏0
  • Laravel 中缓存驱动的速度比较

    摘要:我们很容易修改缓存驱动方式。这样的话,我们甚至根本不必检查缓存是否过期。与驱动相比,和的速度更快,所以建议在项目较大时使用外部缓存驱动。结论使用文件数据库作为驱动,两者在速度上没有很明显的区别。所以投资高速缓存是值得的。 showImg(https://segmentfault.com/img/remote/1460000014057714?w=1440&h=720); 缓存是web开...

    go4it 评论0 收藏0
  • 利用 Laravel Resources 来整合第三方 API 数据

    摘要:对于某些应用程序,可能需要第三方服务或者来提取某些数据,将该数据转换为所需的响应,并将其传送到客户端界面。使用中间件来处理响应数据可以确保数据库的一致性。 showImg(https://segmentfault.com/img/remote/1460000018016736?w=1000&h=421); 对于某些应用程序,可能需要第三方服务或者 API 来提取某些数据,将该数据转换为...

    Jonathan Shieber 评论0 收藏0

发表评论

0条评论

Alan

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<