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 相关文章推荐
967 个函式
Oct 09 PHP
php urlencode()与urldecode()函数字符编码原理详解
Dec 06 PHP
php比较多维数组中值的大小排序实现代码
Sep 08 PHP
探讨PHP删除文件夹的三种方法
Jun 09 PHP
php实现window平台的checkdnsrr函数
May 27 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
Apr 12 PHP
php版微信公众平台开发之验证步骤实例详解
Sep 23 PHP
Yii2下session跨域名共存的解决方案
Feb 04 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
Jun 22 PHP
PHP中危险的file_put_contents函数详解
Nov 04 PHP
基于php双引号中访问数组元素报错的解决方法
Feb 01 PHP
php递归函数怎么用才有效
Feb 24 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下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
在VS2008中编译MYSQL5.1.48的方法
2010/07/03 PHP
详解PHP中的Traits
2015/07/29 PHP
PHP生成word文档的三种实现方式
2016/11/14 PHP
简单谈谈PHP中的Reload操作
2016/12/12 PHP
使用Zttp简化Guzzle 调用
2017/07/02 PHP
PHP获取访问设备信息的方法示例
2019/02/20 PHP
IE7提供XMLHttpRequest对象为兼容
2007/03/08 Javascript
解决jquery .ajax 在IE下卡死问题的解决方法
2009/10/26 Javascript
javascript 面向对象全新理练之继承与多态
2009/12/03 Javascript
取选中的radio的值
2010/01/11 Javascript
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
浅析tr的隐藏和显示问题
2014/03/05 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
2014/05/22 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
移动端web滚动分页的实现方法
2017/05/05 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
Nodejs调用Dll模块的方法
2018/09/17 NodeJs
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
[46:14]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第一场 12.11
2020/12/16 DOTA
pytorch中的embedding词向量的使用方法
2019/08/18 Python
pytorch使用horovod多gpu训练的实现
2020/09/09 Python
纯CSS3制作页面切换效果的实例代码
2019/05/30 HTML / CSS
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
2016/01/12 面试题
园林资料员岗位职责
2013/12/30 职场文书
授权委托书范文
2014/07/31 职场文书
购房个人委托书范本
2014/10/11 职场文书
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL