当前位置:首页 > CMS教程 > 其它CMS > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-16 10:57:58 浏览: 评论:0 

这篇文章主要给大家介绍了如何在Laravel中正确地返回HTTP状态码的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。

Laravel状态码 HTTP状态码

在 API 中返回状态码是很重要的,因为响应处理程序是工作在 API 的响应状态码之上的。

写 API 时其中有一个重要的地方是更好的处理响应状态码,以前,我一般会使用不常用的 Integer 类型数字作为 HTTP 状态码,看下面的这个例子:

  1. <?php  
  2. namespace App\Http\Controllers; 
  3. use App\Http\Controllers\Controller; 
  4. use App\Post; 
  5. Class PostsController extends Controller{ 
  6.  public function store(){ 
  7.  $post = new Post(request()->only('title''description')); 
  8.  request()->user()->posts()->save($post); 
  9.  return response()->json(['post' => $post], 201); 
  10.  } 

在 API 的调用期间 ,如果数据已被创建,那么将会响应 HTTP 201 状态码,但是很多的开发者并不知道 201 状态码,他们更熟悉 200 成功状态码,使用 Symfony Response 类可以解决这个问题,它包含了所有的 HTTP 状态码,并且使用更简单易懂的命名,以上的代码可以修改为如下代码:

  1. <?php  
  2. namespace App\Http\Controllers; 
  3. use App\Http\Controllers\Controller; 
  4. use App\Post; 
  5. use Symfony\Component\HttpFoundation\Response; 
  6. Class PostsController extends Controller{ 
  7.  public function store(){ 
  8.  $post = new Post(request()->only('title''description')); 
  9.  request()->user()->posts()->save($post); 
  10.  return response()->json(['post' => $post], Response::HTTP_CREATED); 
  11.  } 

这个类包含了所有定义的 HTTP 状态码,先来看看其中的一些状态码:

Laravel状态码 HTTP状态码

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

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

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

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

Tags: Laravel状态码 HTTP状态码

分享到: