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
php合并数组array_merge函数运算符加号与的区别
Oct 31 PHP
一步一步学习PHP(4) php 函数 补充2
Feb 15 PHP
Codeigniter生成Excel文档的简单方法
Jun 12 PHP
wordpress安装过程中遇到中文乱码的处理方法
Apr 21 PHP
php从文件夹随机读取文件的方法
Jun 01 PHP
在openSUSE42.1下编译安装PHP7 的方法
Dec 24 PHP
php中使用websocket详解
Sep 23 PHP
PHP下的浮点运算不准的解决方法
Oct 27 PHP
php的socket编程详解
Nov 20 PHP
PHPstorm快捷键(分享)
Jul 17 PHP
Laravel框架搜索分页功能示例
Feb 01 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 显示指定路径下的图片
2009/10/29 PHP
PHP实现把数字ID转字母ID
2013/08/12 PHP
php中static和const关键字用法分析
2016/12/07 PHP
thinkphp项目如何自定义微信分享描述内容
2017/02/20 PHP
JavaScript方法和技巧大全
2006/12/27 Javascript
33种Javascript 表格排序控件收集
2009/12/03 Javascript
JavaScript中链式调用之研习
2011/04/07 Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
2013/02/18 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
Jquery中基本选择器用法实例详解
2015/05/18 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
2016/07/22 Javascript
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例
2016/12/06 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
Vue2递归组件实现树形菜单
2017/04/10 Javascript
微信小程序 实现动态显示和隐藏某个控件
2017/04/27 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
JS实现点击拉拽轮播图pc端移动端适配
2018/09/05 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
2018/09/19 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
2018/10/31 Javascript
javascript 原型与原型链的理解及应用实例分析
2020/02/10 Javascript
[00:32]DOTA2上海特级锦标赛 Ehome战队宣传片
2016/03/03 DOTA
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
Python爬虫框架Scrapy实战之批量抓取招聘信息
2015/08/07 Python
使用Python中的tkinter模块作图的方法
2017/02/07 Python
python爬虫使用cookie登录详解
2017/12/27 Python
运动检测ViBe算法python实现代码
2018/01/09 Python
python微信跳一跳系列之棋子定位像素遍历
2018/02/26 Python
用Cython加速Python到“起飞”(推荐)
2019/08/01 Python
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
凯蒂·佩里个人女鞋品牌:Katy Perry Collections
2019/04/04 全球购物
个人剖析材料及整改措施
2014/10/07 职场文书
免职证明样本
2014/10/23 职场文书