
在 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...
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。