2016-08-10 21 views
0

Lagomを使用してMicro-Service Architectureシステムを開発する2つの例、つまり 'chirp'と 'cargotracker'を見てきましたが、どれも既存のエンティティに更新する方法を示していません。例えばREST API経由のLagomの更新

、REST URI

Sugguestion { ID コンテンツ再生回数 著者}更新約

api/suggestion  with Http Post  ----> add a new suggestion 
api/suggestion/:id with Http Get,  ---->read a suggestion 
api/suggestion/:id with Http Delete, ---->remove a suggestion 

方法では、次のエンティティを有しますか?

1)api/suggestion/viewCount with Http Put?

2)api/suggestion /:id with Http Put?

3)api/suggestion /:id with Http Post?

は、上記3 approch 1

)、そうでない場合は、各フィールドの別々のデータクラスを定義する必要がaginst「で変更可能な変更」を導入する提案エンティティに直接更新のいくつかの欠点がありますラゴムの原則。

2)& 3)、古い状態のディープコピーが必要であり、変更されたフィールドで更新する必要があります。それ以外の場合は、「変更可能な変更」も導入されます。

その他のオプションはありますか?

おかげで

答えて

0

我々は

api/suggestion/:id PUT  // for updating the entire resource 
api/suggestion/:id/views //for updating a portion of the resource 

1)コマンドへのサービス・マップ・リクエストのようなものを使用します。コマンドはエンティティ内のフィールドのサブセットを単純に含むことができます。 2)と3)ドキュメントとCQRSデザインを読む必要があります。アーキテクチャーは、可変状態への同時並行更新を処理するために最も重要です。

関連する問題