Laravel作為一個受歡迎的PHP框架,已經成為了開發人員寫API的首選。透過Laravel,你可以快速編寫高品質的API,其越來越受到企業級和個人開發者的歡迎。
在這篇文章中,我們將探討如何使用Laravel寫API。我們將從以下幾個面向入手:建立API、API路由、控制器和API測試。
建置API
在建置API時,需要使用Laravel提供的內建中介軟體和路由器。從Laravel 5.5開始,框架內建了API資源控制器(API Resource Controller)功能。這個特性使得開發者可以更快的創建標準的REST API,並且幫助開發者維護程式碼一致性。
如何使用資源控制器?首先,在命令列中執行以下命令,新建一個控制器:
php artisan make:controller Api/PostController --api
這會建立一個名為PostController的API控制器,它將自動繼承Laravel
的內建的ResourceController
,並且包含所有的預先定義的方法。這些方法包括:index、show、store、update和destroy。
API路由
在Laravel中,路由與控制器緊密耦合,因為我們需要在路由中定義處理API請求的頂層控制器。
Route::prefix('api')->group(function () { Route::resource('posts', 'Api\PostController'); });
這個路由定義了一個'/api/posts'的URL,用來操作Post模型的 CRUD 功能。
控制器
在資源控制器中,我們可以使用預先定義的函數來處理常見的任務。例如,下面的程式碼開始建立並附加post文章的檔案上傳,將檔案從儲存庫移至公用目錄:
public function store(Request $request) { $path = $request->file('photo')->store('public/photos'); $post = new Post; $post->title = $request->input('title'); $post->description = $request->input('description'); $post->slug = str_slug($request->input('title')); $post->photo = $path; $post->save(); return new Resource($post); }
API測試
測試API是確保其功能正常運作的關鍵,請確保在編寫API時編寫測試案例。 Laravel也內建了框架測試工具來幫助您輕鬆地編寫測試案例。
在為API編寫測試時,您可以使用發送HTTP請求並檢查回應的方法來測試控制器。例如,下面的程式碼測試控制器是否可以正確地取得貼文的清單:
public function testPostIndex() { $response = $this->json('GET', '/api/posts'); $response->assertStatus(200); $response->assertJsonStructure([ 'data' => [ '*' => [ 'id', 'title', 'description', 'slug', 'photo', 'created_at', 'updated_at' ] ] ]); }
結論
#在Laravel中,編寫API非常容易。使用預先定義的API控制器和內建的路由器,您可以快速建立標準的REST API。使用Laravel的測試工具編寫測試案例,檢查API功能是否正常運作。優秀的文檔和社群支持,是讓Laravel成為開發人員最受歡迎的框架之一的關鍵因素。
以上是laravel如何寫api的詳細內容。更多資訊請關注PHP中文網其他相關文章!