【発掘記事】ResourceCollectionとJsonResourceの違い

基礎

brightful.jp



ResourceCollectionとJsonResourceの違い

brightful.jp

JsonResourceクラスを継承し、JSONの整形を行うリソースクラスの作成を行いました。
リソースクラスの使い方については、インスタンスの生成をして、
そこにモデルを引数として渡してあげると望み通りのJSONデータに整形してくれるという非常に使い勝手の良いものでしたね。

だた、前回の記事内でも触れたのですが、
リソースクラスは基本的には1つのデータに対して整形するようになっていますので、
検索によって複数のデータが取得された場合は、望み通りの形式で返却できないといったことが起こります。

そこで、今回はその「複数のデータ」を対象としたJSONデータの整形をやっていきたいと思います!

APIリソースの作成 (JsonResourceの継承)

php artisan make:resource UserResource

APIリソースコレクションの作成 (ResourceCollectionの継承)

  • リソースコレクションを生成するには、
    • [1] リソースを生成するときに--collectionフラグを使用する。
    • [2] または、リソース名にCollectionという単語を含める。
php artisan make:resource User --collection

php artisan make:resource UserCollection