たとえば、次のような任意のjsフレームワークに基づいてSPAを実装したいとします。 Angular JS。私は既に、私がapp.Iに表示する必要がある情報を持つ多くの既存のWeb APIを持っている新しい情報を管理する1つを追加する必要があります。新しい1つは他のDtosを参照します。私の質問は、より良いアプローチは、APIを呼び出してDtoをWebアプリケーションでコンパイルするか、新しいAPIでAPIを呼び出すことです。すべてのデータをマージし、準備ができたオブジェクトでGETメソッドを作成します。ウェブサイトの観点からSPA - DTOの処理
第一アプローチ:
注文のWeb API
上のすべてをマージ:Call (i know userId - based on logged in user [in this example = 1])
/get/order/{userId}
{
UserId: 1
Products:{1,2}
}
based on that call:
/get/user/1
{
FirstName: test,
LastName: test
}
/get/product/1
{
Price: 10,
Name: Test
}
/get/product/2
{
Price: 100,
Name: Test2
}
ウェブサイトの観点からの角度のJsのWeb
第二アプローチ内のすべてのデータをマージ
Call:
/get/ordermerged/{userId}
{
FirstName: test,
LastName: test
Products:
{
{
Price: 10,
Name: Test
},
{
Price: 100,
Name: Test2
}
}
}
私はより良い概観のスクリーンショットを添付します。
私はまた、そのサービスが単一の責任であるべきであり、私がOrder Web Apiでそれをマージするとき、それが他のものに依存するので、第1のものがより良いと考えます。あなたはこのことについてどう思いますか? –
すべては、それが使用されているコンテキストに依存します。上記の例では、すべてを1回の呼び出しにマージすることはありません。しかし、注文情報と商品データを1つのAPIエンドポイントに結合して呼び出すことができ、別の呼び出しでユーザー情報を取得することができます。 –