0

状況があります: カテゴリ - さまざまなタイプのマスター データ。注文 - カテゴリへの参照があります。Order から Category への 1 対 1 のマッピングです。Order テーブルには、Category への外部キー列があります。注文を取得する API

/users/orders

戻り値の型は

{ "name: "abc", "categoryId" : 23 }

うまくいくか、jsonを次のように返す必要があります

{ "name: "abc", "category" : "CAT-A" }

クライアントがカテゴリを知っている場合の注文の作成/更新のユースケースもあります。カテゴリで新しい注文を投稿するには、API が必要です。それはこのようなものであるべきですか?

1. post /api/orders { "categoryId" : 23, ....}

または、このようなものですか?

2. post /api/orders/category/23/order
4

1 に答える 1

0

まず、識別子 (またはリンク!) を使用します。

{ "name: "abc", "categoryId" : 23 }

また

{ "name: "abc", "category" : "/api/categories/23" }

名前ではありません(名前は時々変更される可能性があるため)

{ "name: "abc", "category" : "CAT-A" }

注文の投稿には、使用することをお勧めします

post /api/orders { "categoryId" : 23, ....}

注文リソースに注文を追加しているからです。注文には、すでに参照されている (またはリンクされている!) カテゴリが必要です。

このアプローチ

post /api/orders/category/23/order

も大丈夫でしょう。しかし、クライアントは要求本文に既に含まれている情報を使用して URL を作成する必要があるため、事態はもう少し複雑になります (URL と要求本文のカテゴリが同じでない場合はどうなるでしょうか? 要求のカテゴリがbody がありませんか? この場合、リクエストはまだ有効ですか?)

于 2018-07-30T12:09:14.723 に答える