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小技巧搜集,每个PHPer都来露一手
Jan 02 PHP
php 静态变量与自定义常量的使用方法
Jan 26 PHP
php修改时间格式的代码
May 29 PHP
php添加文章时生成静态HTML文章的实现代码
Feb 17 PHP
PHP中require和include路径问题详解
Dec 25 PHP
php从字符串创建函数的方法
Mar 16 PHP
PHP网络操作函数汇总
May 18 PHP
PHP面向对象详解(三)
Dec 07 PHP
使用ucenter实现多站点同步登录的讲解
Mar 21 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 PHP
如何用Laravel包含你自己的帮助函数
May 27 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
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
php+redis实现多台服务器内网存储session并读取示例
2017/01/12 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
javascript IFrame 强制刷新代码
2009/07/23 Javascript
Javascript的构造函数和constructor属性
2010/01/09 Javascript
JavaScript prototype对象的属性说明
2010/03/13 Javascript
js对象数组按属性快速排序
2011/01/31 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
用director.js实现前端路由使用实例
2017/01/27 Javascript
Bootstrap表单使用方法详解
2017/02/17 Javascript
关于vue.js v-bind 的一些理解和思考
2017/06/06 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
分分钟学会vue中vuex的应用(入门教程)
2017/09/14 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
js实现菜单跳转效果
2020/12/11 Javascript
在Python中操作时间之strptime()方法的使用
2020/12/30 Python
全面了解python中的类,对象,方法,属性
2016/09/11 Python
Python socket网络编程TCP/IP服务器与客户端通信
2017/01/05 Python
python修改txt文件中的某一项方法
2018/12/29 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
Python Handler处理器和自定义Opener原理详解
2020/03/05 Python
Python标准库json模块和pickle模块使用详解
2020/03/10 Python
Python 判断时间是否在时间区间内的实例
2020/05/16 Python
Python如何读取、写入JSON数据
2020/07/28 Python
女性时尚在线:IVRose
2019/02/23 全球购物
保密工作责任书
2014/04/16 职场文书
三方股东合作协议书
2014/10/28 职场文书
迎新晚会主持词开场白
2015/05/28 职场文书
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python
Python Pandas pandas.read_sql_query函数实例用法分析
2021/06/21 Python