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+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
Mar 07 PHP
php字符串分割函数explode的实例代码
Feb 07 PHP
解析dedeCMS验证码的实现代码
Jun 07 PHP
php中使用PHPExcel读写excel(xls)文件的方法
Sep 15 PHP
php支付宝手机网页支付类实例
Mar 04 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
Jun 10 PHP
discuz图片顺序混乱解决方案
Jul 29 PHP
两款万能的php分页类
Nov 12 PHP
详解 PHP加密解密字符串函数附源码下载
Dec 18 PHP
Yii2框架实现数据库常用操作总结
Feb 08 PHP
Laravel框架文件上传功能实现方法示例
Apr 16 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
Dec 15 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使用ftp实现文件上传与下载功能
2017/07/21 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
利用jquery实现瀑布流3种案例
2016/09/18 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
vue中的inject学习教程
2019/04/24 Javascript
Vue实现简易计算器
2020/02/25 Javascript
Python实现的购物车功能示例
2018/02/11 Python
浅谈python中get pass用法
2019/03/19 Python
Python单元和文档测试实例详解
2019/04/11 Python
PyQt5固定窗口大小的方法
2019/06/18 Python
django如何通过类视图使用装饰器
2019/07/24 Python
Python使用Pandas库常见操作详解
2020/01/16 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
2020/02/03 Python
python梯度下降算法的实现
2020/02/24 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
2020/02/28 Python
Python字典dict常用方法函数实例
2020/11/09 Python
Python截图并保存的具体实例
2021/01/14 Python
python 制作网站小说下载器
2021/02/20 Python
Python项目实战之使用Django框架实现支付宝付款功能
2021/02/23 Python
HTML5 Video/Audio播放本地文件示例介绍
2013/11/18 HTML / CSS
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
英国景点门票网站:attractiontix
2019/08/27 全球购物
旷课检讨书3000字
2014/02/04 职场文书
员工晚婚的请假条
2014/02/08 职场文书
抗洪救灾先进集体事迹材料
2014/05/26 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
人身意外保险授权委托书
2014/10/01 职场文书
2014年营销工作总结
2014/11/22 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
长江七号观后感
2015/06/11 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
2019广播稿怎么写
2019/04/17 职场文书
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS