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+AJAX实现无刷新注册(带用户名实时检测)
Jan 02 PHP
Cannot modify header information错误解决方法
Oct 08 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
Dec 01 PHP
国外PHP程序员的13个好习惯小结
Feb 20 PHP
php入门之连接mysql数据库的一个类
Apr 21 PHP
PHP输出当前进程所有变量/常量/模块/函数/类的示例
Nov 07 PHP
smarty实现多级分类的方法
Dec 05 PHP
PHP加密解密字符串汇总
Apr 26 PHP
Linux操作系统安装LAMP环境
Jun 26 PHP
详解PHP中的PDO类
Jul 06 PHP
asp函数split()对应php函数explode()
Feb 27 PHP
php使用event扩展的io复用测试的示例
Oct 20 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为SHOPEX增加日志功能代码
2010/07/02 PHP
解析php函数method_exists()与is_callable()的区别
2013/06/21 PHP
浅谈PHP接收POST数据方式
2015/06/05 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
2017/04/05 PHP
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
2018/05/12 PHP
php桥接模式应用案例分析
2019/10/23 PHP
根据分辨率不同,调用不同的css文件
2006/07/07 Javascript
非常不错的功能强大代码简单的管理菜单美化版
2008/07/09 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
基于gulp合并压缩Seajs模块的方式说明
2016/06/14 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
2017/01/06 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
JS实现的数字格式化功能示例
2017/02/10 Javascript
js中的事件委托或是事件代理使用详解
2017/06/23 Javascript
iview Upload组件多个文件上传的示例代码
2018/09/30 Javascript
在layui中layer弹出层点击事件无效的解决方法
2019/09/05 Javascript
JavaScript字符串处理常见操作方法小结
2019/11/15 Javascript
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
使用Python神器对付12306变态验证码
2016/01/05 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
python实现socket+threading处理多连接的方法
2019/07/23 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
Python 使用Opencv实现目标检测与识别的示例代码
2020/09/08 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
深圳-东方伟业笔试部分
2015/02/11 面试题
计算机专业职业生涯规划范文
2014/01/19 职场文书
生日寿宴答谢词
2014/01/19 职场文书
合作合同协议书范本
2015/01/27 职场文书
初中毕业生自我评价
2015/03/02 职场文书
创建文明城市倡议书
2015/04/28 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang
python神经网络编程之手写数字识别
2021/05/08 Python
如何优化vue打包文件过大
2022/04/13 Vue.js