2016-03-24 14 views
0

新しいREST APIデザインには、以下のように定義された問題の設計方法が不思議でした。また、私は現在、心の中で持っていますが、明らかに私はそれアラートシステム用のREST APIデザイン

  • には多くの問題を参照してください何を概説しているClusterAlerts
  • AlertsCluster(s)に割り当てることができAlert_Type
  • Alert_Typeのインスタンスであります。のみならAlert_Typeが登録されている場合インスタンスAlert_TypeAlertClusterに発生すると、この場合にCluster もないCluster
  • に割り当てることができるAlert_Type
  • Alert_TypeAlertsに登録され、いくつかのアクション が発生しますClusterAlert_Type私はAlert_Type OBJEのためのREST APIの設計とルートと心配この質問の目的のために

が存在しますCTとClusterオブジェクト

これらは私がClusterオブジェクトに対して実行できるRESTアクションのサブセットです:

POST:新しいClusterオブジェクトを作成します。オブジェクト内のフィールドは、をDELETE registered_alertsこのCluster

のために登録Alert_Typeオブジェクトを含めることができ呼ば:登録Alert_Typeオブジェクトのリストを返します。

は(/のALERT_TYPES上)をGET既存Clusterオブジェクトを削除します。 with this Cluster

これらは、私が実行できるRESTアクションのサブセットですAlert_Typeオブジェクト:

POST:新しいAlert_Typeオブジェクトを作成します。

を削除します。削除既存Alert_Typeオブジェクト

をGET:私の質問今、既存のAlert_Typeオブジェクト

を取得:

明らか
  1. 私はClusterAlert_Typeオブジェクトを結ぶ必要があります - は、を複製するには良いデザインではないことを知っています0オブジェクトは のClusterオブジェクトにあります。だから、それぞれ Alert_Typeオブジェクトのidを生成して、Cluster POSTがIDを に送信する必要がありますか?Clusterオブジェクトのリストを維持する
  2. Cluster POSTに のIDがあり、それ以外のIDがある場合、どのように処理すればよいですか?
  3. Alert_Typeの一意のIDは、 というサーバーで生成され、Alert_TypeのPOSTで返されます。 これは、REST互換の方法でこれを行う正しい方法ですか?
  4. ClusterのIDを のオブジェクトのAlert_Typeに保持する必要があると思いますか? : このAlert_Type

答えて

1

のために見ているClusterオブジェクトは、私はあなたにすべての点の応答を与えることを試みる更新する必要があり、その後と - 私だけがAlert_Typeが削除されたときに、これはある の必要性を見ることができた理由

  1. はい、クラスタオブジェクトのIDを使用する必要があります。
  2. エラー終了する必要があります。何も保存しません。
  3. 作成したAlert_TypeのIDをPOST応答(たとえば、json {'id': 'theId'})に戻す必要があります。
  4. これはdbの実装によります:単純にクラスターを取得してAlert_typeの削除に接続できるのであれば、逆接続を維持しないことをお勧めします。

希望は私が助けることができます。

関連する問題