Laravel中正确地返回HTTP状态码方法示例


Posted in PHP onSeptember 10, 2019

Laravel中正确地返回HTTP状态码方法示例

在 API 中返回状态码是很重要的,因为响应处理程序是工作在 API 的响应状态码之上的。

写 API 时其中有一个重要的地方是更好的处理响应状态码。以前,我一般会使用不常用的 Integer 类型数字作为 HTTP 状态码 。看下面的这个例子:

<?php 
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Post;
Class PostsController extends Controller{
 public function store(){
 $post = new Post(request()->only('title', 'description'));
 request()->user()->posts()->save($post);
 return response()->json(['post' => $post], 201);
 }
}

在 API 的调用期间 ,如果数据已被创建,那么将会响应 HTTP 201 状态码,但是很多的开发者并不知道 201 状态码,他们更熟悉 200 成功状态码 。使用 Symfony Response 类可以解决这个问题 。它包含了所有的 HTTP 状态码,并且使用更简单易懂的命名 。以上的代码可以修改为如下代码:

<?php 
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Post;
use Symfony\Component\HttpFoundation\Response;
Class PostsController extends Controller{
 public function store(){
 $post = new Post(request()->only('title', 'description'));
 request()->user()->posts()->save($post);
 return response()->json(['post' => $post], Response::HTTP_CREATED);
 }
}

这个类包含了所有定义的 HTTP 状态码,先来看看其中的一些状态码:

Laravel中正确地返回HTTP状态码方法示例

虽然我不觉得直接写数值的 HTTP 状态码是一个坏习惯,但是使用

HTTP 状态码时用一些不解自明的命名会更好。大家编码快乐!

原文地址:https://medium.com/@naumancs/how-to-use-...

译文地址:https://learnku.com/laravel/t/9684/how-t...

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
php session 预定义数组
Mar 16 PHP
php缓冲 output_buffering的使用详解
Jun 13 PHP
php+ajax导入大数据时产生的问题处理
Jun 11 PHP
ThinkPHP调用百度翻译类实现在线翻译
Jun 26 PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 PHP
php实现将上传word文件转为html的方法
Jun 03 PHP
php上传大文件失败的原因及应对策略
Oct 20 PHP
PHP简单获取多个checkbox值的方法
Jun 13 PHP
php使用escapeshellarg时中文被过滤的解决方法
Jul 10 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
Oct 08 PHP
PHP中单例模式与工厂模式详解
Feb 17 PHP
Yii框架where查询用法实例分析
Oct 22 PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
Sep 10 #PHP
mysqli扩展无法在PHP7下升级问题的解决
Sep 10 #PHP
PHP 模拟登陆功能实例详解
Sep 10 #PHP
Yii框架日志操作图文与实例详解
Sep 09 #PHP
php求斐波那契数的两种实现方式【递归与递推】
Sep 09 #PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
Sep 09 #PHP
Yii框架常见缓存应用实例小结
Sep 09 #PHP
You might like
GD输出汉字的函数的分析
2006/10/09 PHP
php实现二进制和文本相互转换的方法
2015/04/18 PHP
PHP缓冲区用法总结
2016/02/14 PHP
thinkphp5+layui实现的分页样式示例
2019/10/08 PHP
javascript delete 使用示例代码
2010/03/29 Javascript
基于JQuery模仿苹果桌面的Dock效果(初级版)
2012/10/15 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
2015/03/26 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
jquery判断类型是不是number类型的实例代码
2016/10/07 Javascript
hovertree插件实现二级树形菜单(简单实用)
2016/12/28 Javascript
js获取当前页的URL与window.location.href简单方法
2017/02/13 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
2020/05/30 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
2017/05/17 Javascript
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
jQuery代码优化方法总结
2018/01/29 jQuery
js中let和var定义变量的区别
2018/02/08 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
Vue调用后端java接口的实例代码
2019/10/28 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
Python时间戳使用和相互转换详解
2017/12/11 Python
python爬虫爬取网页表格数据
2018/03/07 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
Python ellipsis 的用法详解
2020/11/20 Python
python3定位并识别图片验证码实现自动登录功能
2021/01/29 Python
房地产销售大学生自我评价分享
2013/11/11 职场文书
法制宣传月活动方案
2014/05/11 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
普希金的诗歌赏析(3首)
2019/08/20 职场文书