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 破解防盗链图片函数
Dec 09 PHP
php 正则匹配函数体
Aug 25 PHP
PHP chmod 函数与批量修改文件目录权限
May 10 PHP
PHP exif扩展方法开启详解
Jul 28 PHP
Linux下php5.4启动脚本
Aug 03 PHP
PHP实现将textarea的值根据回车换行拆分至数组
Jun 10 PHP
基于CakePHP实现的简单博客系统实例
Jun 28 PHP
PHP自带方法验证邮箱是否存在
Feb 01 PHP
PHP生成可点击刷新的验证码简单示例
May 13 PHP
php下载文件,添加响应头的简单实例
Sep 22 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
Feb 15 PHP
php微信开发之谷歌测距
Jun 14 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
php中get_object_vars()方法用法实例
2015/02/08 PHP
jquery ui resizable bug解决方法
2010/10/26 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
介绍JavaScript中Math.abs()方法的使用
2015/06/14 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
基于jquery实现动态竖向柱状条特效
2016/02/12 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
2017/01/10 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
2018/01/29 jQuery
详解Vue2 添加对scss的支持
2019/01/02 Javascript
vue-router 起步步骤详解
2019/03/26 Javascript
浅谈发布订阅模式与观察者模式
2019/04/09 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
[01:07:34]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第二场 1月9日
2021/03/11 DOTA
Python入门_条件控制(详解)
2017/05/16 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
Python for循环搭配else常见问题解决
2020/02/11 Python
在python3中实现查找数组中最接近与某值的元素操作
2020/02/29 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
python 实现有道翻译功能
2021/02/26 Python
印尼在线精品店:Berrybenka.com
2016/10/22 全球购物
专科文秘应届生求职信
2013/11/18 职场文书
物业管理毕业生个人的求职信
2013/11/30 职场文书
安全生产网格化管理实施方案
2014/03/01 职场文书
财产公证书格式
2014/04/10 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
python实现局部图像放大
2021/11/17 Python
漫画《催眠麦克风-Dawn Of Divisions》第二卷PV公开
2022/04/05 日漫