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 相关文章推荐
默默简单的写了一个模板引擎
Jan 02 PHP
新安装的MySQL数据库需要注意的安全知识
Jul 30 PHP
php zlib压缩和解压缩swf文件的代码
Dec 30 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
Apr 02 PHP
yii实现CheckBox复选框在同一行显示的方法
Dec 03 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
Apr 21 PHP
PHP实现导出带样式的Excel
Aug 28 PHP
PHP串行化与反串行化实例分析
Dec 27 PHP
PHP三种方式实现链式操作详解
Jan 21 PHP
PHP实现APP微信支付的实例讲解
Feb 10 PHP
PDO::rollBack讲解
Jan 29 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
Oct 17 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
BBS(php &amp; mysql)完整版(三)
2006/10/09 PHP
php读取flash文件高宽帧数背景颜色的方法
2015/01/06 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
php探针不显示内存解决方法
2019/09/17 PHP
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
JavaScript获取flash对象与网上的有所不同
2014/04/21 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
2016/05/25 Javascript
JavaScript中for循环的几种写法与效率总结
2017/02/03 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
2018/07/30 Javascript
微信小程序实现下拉框功能
2019/07/16 Javascript
解决vue更新路由router-view复用组件内容不刷新的问题
2019/11/04 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
JavaScript编写开发动态时钟
2020/07/29 Javascript
使用typescript快速开发一个cli的实现示例
2020/12/09 Javascript
Python编写生成验证码的脚本的教程
2015/05/04 Python
Python映射拆分操作符用法实例
2015/05/19 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
2017/09/20 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
python3图片文件批量重命名处理
2019/10/31 Python
python动态文本进度条的实例代码
2020/01/22 Python
windows下Pycharm安装opencv的多种方法
2020/03/05 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
2020/05/10 Python
HTML5实现晶莹剔透的雨滴特效
2014/05/14 HTML / CSS
LA MER海蓝之谜美国官网:传奇面霜
2016/08/27 全球购物
布里斯班女装时尚品牌:Adrift
2017/12/28 全球购物
马来西亚网上购物平台:ezbuy
2018/02/13 全球购物
了解AppleTalk协议吗
2014/04/01 面试题
销售人员中英文自荐信
2013/09/22 职场文书
上课迟到检讨书
2014/02/19 职场文书
2014最新毕业证代领委托书
2014/09/26 职场文书
浅谈Python中的函数(def)及参数传递操作
2021/05/25 Python