前のページまでの作業は Web バージョンのコメント掲示板作成の手順と全く同じでした.ここでは API が1件のコメントデータを返す役割を担うリソースを作成します.
コメントデータを返す CommentResource を生成します.リソースは app/Http/Resources フォルダに生成されます.プロジェクトの初期状態ではこの Resources フォルダは存在しません.しかし,次のコマンドでリソースファイルを生成するとフォルダも自動的に作成されます.
vagrant@ubuntu2204 CommentAPI $ ls app/Http/ ⏎ Controllers Kernel.php Middleware vagrant@ubuntu2204 CommentAPI $ php artisan make:resource CommentResource ⏎ INFO Resource [app/Http/Resources/CommentResource.php] created successfully. vagrant@ubuntu2204 CommentAPI $ ls app/Http/ ⏎ Controllers Kernel.php Middleware Resources vagrant@ubuntu2204 CommentAPI $ ls app/Http/Resources/ ⏎ CommentResource.php vagrant@ubuntu2204 CommentAPI $
生成された CommentResource は次のような内容になっています.
app/Http/Resources/CommentResource.php
- <?php
-
- namespace App\Http\Resources;
-
- use Illuminate\Http\Request;
- use Illuminate\Http\Resources\Json\JsonResource;
-
- class CommentResource extends JsonResource
- {
- /**
- * Transform the resource into an array.
- *
- * @return array<string, mixed>
- */
- public function toArray(Request $request): array
- {
- return parent::toArray($request);
- }
- }