当前位置: 首页 > 编程笔记 >

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

梁季
2023-03-14
本文向大家介绍Laravel中正确地返回HTTP状态码方法示例,包括了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 状态码,先来看看其中的一些状态码:

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

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

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

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。

 类似资料:
  • 问题内容: 如果我返回一个对象: 状态代码将为200。如何将其更改为201,并显示一条消息并与json对象一起发送? 我不知道是否有一种方法可以在Laravel中设置状态代码。 问题答案: 您可以用来设置HTTP响应代码。 如果未传递任何参数,则http_response_code将获取当前状态码。如果您传递参数,它将设置响应代码。 对于Laravel:

  • 本文向大家介绍HTTP 返回状态码有哪些?相关面试题,主要包含被问及HTTP 返回状态码有哪些?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 100 Continue 继续。客户端应继续其请求 101 Switching Protocols 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议 200 OK 请求成功。一般用于GET与POST

  • 问题内容: 我们正在使用Flask作为我们的API之一,我只是想知道是否有人知道如何返回HTTP响应201? 对于诸如404之类的错误,我们可以致电: 但是对于201我得到 LookupError:201都不例外 我是否需要创建自己的例外,像这样的文档? 问题答案: 你可以在这里阅读。

  • 本文向大家介绍Nginx中定义404页面并且返回404状态码的正确方法,包括了Nginx中定义404页面并且返回404状态码的正确方法的使用技巧和注意事项,需要的朋友参考一下 前几天,一朋友出程序出问题却怎么查都没看出问题,于是让我帮它看看。其实它是ajax请求了很多个模板,然后把模板写到页面中。关键是所有请求的页面都是200正常状态码返回,表面上看没什么问题,实际上有些请求虽然返回200状态码,

  • 问题内容: 我们正在使用Flask作为我们的API之一,我只是想知道是否有人知道如何返回HTTP响应201? 对于诸如404之类的错误,我们可以致电: 但是对于201我得到 LookupError:201也不例外 我是否需要创建自己的例外,像这样的文档? 问题答案: 您可以在这里阅读。

  • 我使用curl获取http头以查找http状态代码并返回响应。我使用以下命令获取http头

  • 有时,在服务器级别,我会返回一些额外的信息以及 例如,它不会只返回一个,这可能会让我的客户困惑路由是否正确,它还会收到类似的消息 标识符“abc”未知 我通常将内容类型设置为,并在 另一种选择是设置。 哪种方式/惯例最好?设置或设置?

  • 问题内容: 我看到了一些类似的问题(像这样),但是没有一个问题专门解决这个问题。 因此,Google 现在支持SPA,并且大多数网络浏览器都支持HTML5 pushState 。 我的AngularJS(但可能是任何JS东西)网站都使用URL来确定API路由。然后执行API调用,然后相应地呈现内容。 但是,由于 每个URL都 返回HTTP 200状态代码(包括example.com/get-fre