こんにちは!前回はLaravelでフォームバリデーションを実装する方法についてご紹介しました。今回は、LaravelでRESTful APIを作成する方法について解説します。
Laravelは、RESTful APIの作成を容易にします。APIのルーティング、コントローラの作成、レスポンスのフォーマットなどについて説明します。
APIルーティング
APIのルーティングはroutes/api.php
ファイルで定義します。以下に例を示します。
Route::get('/posts', 'PostController@index');
Route::post('/posts', 'PostController@store');
Route::get('/posts/{post}', 'PostController@show');
Route::put('/posts/{post}', 'PostController@update');
Route::delete('/posts/{post}', 'PostController@destroy');
APIコントローラ
APIのコントローラは、php artisan make:controller
コマンドで生成します。--api
オプションを付けると、RESTfulなアクション(index
, store
, show
, update
, destroy
)が自動的にコントローラに追加されます。これは、APIコントローラではHTMLビューを返すcreate
とedit
のアクションが不要であるためです。
$ php artisan make:controller API/PostController --api
レスポンスのフォーマット
APIのレスポンスは、通常JSON形式で返します。Laravelのレスポンスメソッドを使用すると、適切なHTTPステータスコードとともにJSONレスポンスを簡単に作成できます。
return response()->json(['message' => 'Post created successfully'], 201);
最後に
以上で、LaravelでRESTful APIを作成する基本的な方法をご紹介しました。次回は、Laravelでのテストについて解説します。お楽しみに!