Laravel中正确地返回HTTP状态码方法示例
2019-09-10 09:52
1271 查看
在 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...
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。
相关文章推荐
- 让Laravel API永远返回JSON格式响应的方法示例
- jQuery使用ajax方法解析返回的json数据功能示例
- python函数返回多个值的示例方法
- PHP中Laravel 关联查询返回错误id的解决方法
- js返回上一页方法示例
- ASP.NET设置404页面返回302HTTP状态码的解决方法
- laravel 5.4中实现无限级分类的方法示例
- Laravel中利用队列发送邮件的方法示例
- laravel实现批量更新多条记录的方法示例
- python函数返回多个值的示例方法
- Laravel中利用队列发送邮件的方法示例
- Laravel路由研究之domain解决多域名问题的方法示例
- python函数返回多个值的示例方法
- 基于Laravel5.4实现多字段登录功能方法示例
- ASP.NET设置404页面返回302HTTP状态码的解决方法
- spring Mvc配置xml使ResponseBody返回Json的方法示例
- 利用laravel+ajax实现文件上传功能方法示例
- 用lastIndexOf方法返回String对象内最后一次出现子字符串的字符位置的示例
- [原创]Java RMI的简单示例--调用远程方法返回当前时间
- 详解如何实现Laravel的服务容器的方法示例