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 相关文章推荐
超级简单的发送邮件程序
Oct 09 PHP
WindowsXP中快速配置Apache+PHP5+Mysql
Jun 05 PHP
php include的妙用,实现路径加密
Jul 29 PHP
php pack与unpack 摸板字符字符含义
Oct 29 PHP
创建配置文件 用PHP写出自己的BLOG系统 2
Apr 12 PHP
php class中self,parent,this的区别以及实例介绍
Apr 24 PHP
php读取3389的脚本
May 06 PHP
PHP实现删除非站内外部链接实例代码
Jun 17 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
Jun 30 PHP
PHP实现HTML页面静态化的方法
Nov 04 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
PHP substr()函数参数解释及用法讲解
Nov 23 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中socket的用法详解
2014/10/24 PHP
10个超级有用值得收藏的PHP代码片段
2015/01/22 PHP
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
js关闭父窗口时关闭子窗口
2013/04/01 Javascript
使用js修改客户端注册表的方法
2013/08/09 Javascript
jQuery的load()方法及其回调函数用法实例
2015/03/25 Javascript
jquery+html5烂漫爱心表白动画代码分享
2015/08/24 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
ie下js不执行的几种可能
2017/02/28 Javascript
JS实现双击内容变为可编辑状态
2017/03/03 Javascript
vue中使用gojs/jointjs的示例代码
2018/08/24 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
2018/12/04 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
js new Date()实例测试
2019/10/31 Javascript
微信小程序后端(java)开发流程的详细步骤
2019/11/13 Javascript
10款最好的Web开发的 Python 框架
2015/03/18 Python
Centos7 Python3下安装scrapy的详细步骤
2018/03/15 Python
python实现超市扫码仪计费
2018/05/30 Python
利用pandas进行大文件计数处理的方法
2018/07/25 Python
django做form表单的数据验证过程详解
2019/07/26 Python
Python Numpy中数据的常用保存与读取方法
2020/04/01 Python
Python类成员继承重写的实现
2020/09/16 Python
css3 线性渐变和径向渐变示例附图
2014/04/08 HTML / CSS
JD Sports西班牙:英国领先的运动服装公司
2020/01/06 全球购物
幼儿教师研修感言
2014/02/12 职场文书
英语三分钟演讲稿
2014/08/19 职场文书
八项规定整改方案
2014/10/01 职场文书
后备干部推荐材料
2014/12/24 职场文书
医德医风个人总结
2015/02/28 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
个人的事迹材料怎么写
2019/04/24 职场文书
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript
Spring Cloud Gateway去掉url前缀
2021/07/15 Java/Android