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 daddslashes 使用方法介绍
Oct 26 PHP
PHP 转义使用详解
Jul 15 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
Sep 16 PHP
Laravel中使用自己编写类库的3种方法
Feb 10 PHP
简单介绍win7下搭建apache+php+mysql开发环境
Aug 06 PHP
反射调用private方法实践(php、java)
Dec 21 PHP
php实现图片上传并进行替换操作
Mar 15 PHP
既简单又安全的PHP验证码 附调用方法
Jun 02 PHP
详解php命令注入攻击
Apr 06 PHP
php抽象类和接口知识点整理总结
Aug 02 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
Apr 23 PHP
PHP 实现缩略图
Mar 09 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 autoload机制的详解
2013/06/09 PHP
关于使用coreseek并为其做分页的介绍
2013/06/21 PHP
浅析php单例模式
2014/11/25 PHP
php查看当前Session的ID实例
2015/03/16 PHP
php循环table实现一行两列显示的方法
2015/06/04 PHP
php查询whois信息的方法
2015/06/08 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
php7 错误处理机制修改实例分析
2020/05/25 PHP
你的编程语言可以这样做吗?
2006/09/07 Javascript
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
jquery二级导航内容均分的原理及实现
2013/08/13 Javascript
javascript中的document.open()方法使用介绍
2013/10/09 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
fckeditor粘贴Word时弹出窗口取消的方法
2014/10/30 Javascript
Javascript 中创建自定义对象的方法汇总
2014/12/04 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
2015/05/25 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
Node.js JSON模块用法实例分析
2019/01/04 Javascript
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
2019/10/16 Javascript
Python实现设置windows桌面壁纸代码分享
2015/03/28 Python
总结Python中逻辑运算符的使用
2015/05/13 Python
Python中几种导入模块的方式总结
2017/04/27 Python
python操作mysql代码总结
2018/06/01 Python
python re模块的高级用法详解
2018/06/06 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
Tensorflow中的降维函数tf.reduce_*使用总结
2020/04/20 Python
Python如何转换字符串大小写
2020/06/04 Python
资产评估专业学生的自我鉴定
2013/11/14 职场文书
安全生产年活动总结
2014/08/29 职场文书
开展警示教育活动总结
2015/05/09 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技
python解析照片拍摄时间进行图片整理
2022/07/23 Python
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL