文章轉發自專業的Laravel開發者社區,原始連接: https://learnku.com/laravel/t...
在 API 中返回狀態碼是很重要的,由於響應處理程序是工做在 API 的響應狀態碼之上的。php
寫 API 時其中有一個重要的地方是更好的處理響應狀態碼。之前,我通常會使用不經常使用的 Integer 類型數字做爲 HTTP 狀態碼 。看下面的這個例子:laravel
<?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 狀態碼,而且使用更簡單易懂的命名 。以上的代碼能夠修改成以下代碼:json
<?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 狀態碼,先來看看其中的一些狀態碼:post
雖然我不以爲直接寫數值的 HTTP 狀態碼是一個壞習慣,可是使用
HTTP 狀態碼時用一些不解自明的命名會更好。你們編碼快樂!編碼