0

例: Order オブジェクト (集約ルート) には、OrderLine オブジェクト (子エンティティ) のコレクションがあります。OrderLine を Order に追加する URL は何ですか? 集約ルートのコントローラーを使用することと、子エンティティ用に別のコントローラーを使用することの違いを考慮してください。

1: http://example.com/orders/add-orderline?order-id=42&product-id=12&quantity=2

また

2: http://example.com/order-lines/add?order-id=42&product-id=12&quantity=2

ありがとう!

4

2 に答える 2

1

注文ラインは注文とは独立して存在できますか?したがって、おそらくそうではないので、注文コントローラーに対してアクションを実行します。

私は次のことを好みます:

http://example.com/orders/addline?order-id=42&product-id=12&quantity=2

またはaddproduct、製品が1つの注文の1行にしか存在できない場合でも。

おそらく、これは成功時に注文全体のビューをレンダリングします。これは、注文コントローラーにそれを置くもう1つの理由です。

于 2008-12-10T15:22:54.990 に答える
1

ドメイン モデルに従います。

Orderline オブジェクトが存在するか、それに対してアクションを実行できるか? (ドメインによると、コード内のオブジェクトではなく、実際のオブジェクトです。) ほとんどの場合、そうではないか、集約ルートになります。

Order オブジェクトが存在し、それに Orderline を追加しています。したがって、ルート オブジェクトは Order であり、Orderline を追加するアクションがあります。

URL ルートは、オブジェクトのコントローラーと Orderline を追加するアクションを使用してそれに続きます。

あなたの例から、これはそのロジックに従うものです:

http://example.com/orders/add-orderline?order-id=42&product-id=12&quantity=2
于 2008-12-10T15:33:45.467 に答える