2017-12-12 10 views
0

複数のアプリケーション間で共有されるモデルのCRUD apiをビルドしました。各アプリケーションには独自のビジネスロジックがあります。コレクションの1つのモデルを「プライマリ」に設定するための最良のRESTful戦略

モデルを「プライマリ」に設定し、他のモデルからそのような名称を同時に削除する必要があります。

私の使用例は、「注文」モデルが作成されて販売に設定されていることです。顧客は親モデルであり、複数の注文を持つことができます。複数の「注文」を作成することはできますが、1つしか販売するように設定することはできません。アプリケーションは、どのオーダーが販売に設定されているかを変更したり、新しいオーダーを作成して販売するように設定することができます。二つのアプローチを考慮

イム:

  1. は販売するためにフラグを設定すると同時に、特定の顧客のために他の注文を反復処理し、販売フラグを削除します私のCRUD APIのリソースを作成し、 'POST/customers/{id}/orders/{id}/soldOrder'のようなURIを使用してください。

  2. アプリケーションクライアントに依頼して注文を取得し、望ましくない「売れ残り」へのもの

私は、オプション1はRESTfulであると懐疑的です。

答えて

0

私は、オプション1がRESTfulであると懐疑的です。

あなたはどのようにウェブサイトでそれを行いますか?

おそらくフォームを提供します。オーダーのラジオリスト、たぶんドロップダウンリストがあり、現在選択されているアイテムは現在どのアイテムが「販売されている」かを示します。ユーザーは、この情報に変更を伝えるために、リスト内の別の項目を選択し、「送信」ボタンをクリックします。これは、form.action要素に記述されているエンドポイントにHTTP要求を送信します。この要求を受け取ったサーバーは、ドメインモデルを適切に変更します。

これはRESTです。クライアントとサーバとは、相互に結合されるのではなく、交換されるメッセージの意味論について共通の理解が結合され、プロトコルにおいて協力することができる。

関連する問題