Laravel中正確地返回HTTP狀態(tài)碼方法示例
在 API 中返回狀態(tài)碼是很重要的,因為響應(yīng)處理程序是工作在 API 的響應(yīng)狀態(tài)碼之上的。
寫 API 時其中有一個重要的地方是更好的處理響應(yīng)狀態(tài)碼。以前,我一般會使用不常用的 Integer 類型數(shù)字作為 HTTP 狀態(tài)碼 ??聪旅娴倪@個例子:
<?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 的調(diào)用期間 ,如果數(shù)據(jù)已被創(chuàng)建,那么將會響應(yīng) HTTP 201 狀態(tài)碼,但是很多的開發(fā)者并不知道 201 狀態(tài)碼,他們更熟悉 200 成功狀態(tài)碼 。使用 Symfony Response 類可以解決這個問題 。它包含了所有的 HTTP 狀態(tài)碼,并且使用更簡單易懂的命名 。以上的代碼可以修改為如下代碼:
<?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 狀態(tài)碼,先來看看其中的一些狀態(tài)碼:
雖然我不覺得直接寫數(shù)值的 HTTP 狀態(tài)碼是一個壞習(xí)慣,但是使用
HTTP 狀態(tài)碼時用一些不解自明的命名會更好。大家編碼快樂!
原文地址:https://medium.com/@naumancs/how-to-use-...
譯文地址:https://learnku.com/laravel/t/9684/how-t...
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。
相關(guān)文章
深思 PHP 數(shù)組遍歷的差異(array_diff 的實現(xiàn))
深思 PHP 數(shù)組遍歷的差異(array_diff 的實現(xiàn))...2006-06-06php使用json_decode后數(shù)字對象轉(zhuǎn)換成了科學(xué)計數(shù)法的解決方法
這篇文章主要介紹了php使用json_decode后數(shù)字對象轉(zhuǎn)換成了科學(xué)計數(shù)法的解決方法,涉及php操作json格式數(shù)據(jù)與數(shù)值轉(zhuǎn)換相關(guān)技巧,需要的朋友可以參考下2017-02-02PHP call_user_func和call_user_func_array函數(shù)的簡單理解與應(yīng)用分析
這篇文章主要介紹了PHP call_user_func和call_user_func_array函數(shù)的簡單理解與應(yīng)用,結(jié)合實例形式分析了PHP call_user_func和call_user_func_array函數(shù)的基本功能、用法及操作注意事項,需要的朋友可以參考下2019-11-11推薦一款MAC OS X 下php集成開發(fā)環(huán)境mamp
這里給大家推薦一款在mac上搭建WEB服務(wù)器環(huán)境的集成環(huán)境安裝軟件,非常的好用,需要的朋友可以拿去,不用謝 ^_^2014-11-11php5.3 不支持 session_register() 此函數(shù)已啟用的解決方法
php從5.2.x升級到5.3.2.出來問題了。有些原來能用的程序報錯了,Deprecated: Function session_register() is deprecated2013-11-11