Laravel中正确地返回HTTP状态码方法示例

yipeiwu_com6年前PHP代码库

在 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 状态码,先来看看其中的一些状态码:

虽然我不觉得直接写数值的 HTTP 状态码是一个坏习惯,但是使用

HTTP 状态码时用一些不解自明的命名会更好。大家编码快乐!

原文地址:https://medium.com/@naumancs/how-to-use-...

译文地址:https://learnku.com/laravel/t/9684/how-t...

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【宜配屋www.yipeiwu.com】的支持。

相关文章

php查询及多条件查询

php查询及多条件查询

单条件查询: 1.先要有一张表,显示出表中的数据: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...

解决Yii2邮件发送结果返回成功,但接收不到邮件的问题

前言 本文主要介绍的是关于解决Yii2邮件发送返回成功但接收不到邮件问题的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 刚刚用了一下yii邮件发送功能,虽然结果返回成功,但接...

解析php通过cookies获取远程网页的指定代码

复制代码 代码如下:function Steal($url, $post_data = ""){//$header[] = "Accept: text/vnd.wap.wml,*.*";...

PHP中foreach()用法汇总

PHP 4 引入了 foreach 结构,和 Perl 以及其他语言很像。这只是一种遍历数组简便方法。foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产...

php使用gd2绘制基本图形示例(直线、圆、正方形)

php使用gd2绘制基本图形示例(直线、圆、正方形)

本文实例讲述了php使用gd2绘制基本图形。分享给大家供大家参考,具体如下: 应用GD2函数可以绘制的图形有多种,最基本的图形包括条、圆、方形等。无论开发人员绘制多么复杂的图形,都是在这...