リレーション関係にある複数のテーブルの情報をバックエンドから取得したいとき、
さらには複数ネストしたリレーション関係の情報を取得したい時、考えられる設計は、
①取得したい全てのテーブル情報を返すエンドポイントを1つ作る
②それぞれのリソースを取得する複数のエンドポイントにリクエスト送って欲しい情報を全て取得する。
RESTだと②のような設計になると思うのですが
フロントの非同期処理が複雑になるのと、そもそもHTTPリクエストが複数回送られるのは
サーバ側の負荷が増え、かつ速度が落ちるはずなのでユーザビリティ的にも良くないと考えます。
かといって①の方法だと仕様変更がおきたとき、複数のエンドポイントのソースの修正が必要になりうると思います。
自分はRESTを使わないWebAPIの開発しかしたことがないのでよくわからないのですが
RESTの思想で設計してる案件では、フロント側はPromisやasync/awaitを駆使して複数のAPIエンドポイントにfetchするような設計なのでしょうか?
やはりHTTPリクエストは1度で済ませるのが望ましいように思うのですが
このような設計は普通なのでしょうか?
なお、GrahpQL使えばこれらは解決するものでしょうか?