Webサービス経由で通信する2つのシステムがあります。それらをフロントエンドとバックエンドと呼んでください。処理の多くは、バックエンドのリストを更新することです。たとえば、フロントエンドは特定の人物を更新する必要があります。現在、私たちはインタフェースが何であるべきかを決定するバックエンドを設計しています。基礎となるデータベースを更新するために実際のデータベースIDが必要になりますが、消費者へのデータベースIDの伝播が悪い場合もあります。WebサービスでIDを処理するためのベストプラクティスは何ですか?
特定のエンティティを更新するには、Webサービスに再びIDを送信するために持っているクライアント(すなわちフロントエンド)を強制的にではいくつかの選択肢は何ですか?フロントエンドは、これらの変更を保存して後で送信することがあるため、IDを避けようとするもう1つの理由があります。これは、フロントエンドが自分のシステムに私たちのIDを保存する必要がありますが、それはまた悪い考えです。
私たちは次のことを考えた:
1)は、バックフロントエンドにデータベースIDを送信します。それらはバックフロントエンドに)変化
2)データベースIDのオフに基づいて(ハッシュIDの送信を処理するためにこれらを返送しなければなりません。彼らは変化を処理するためにこれらを返さなければならないでしょう。
3)は、全てのIDを送信するようにクライアントを強制しませんが、それらは、データベース内の私達のエンティティに元のエンティティと新しいエンティティと「一致」を送ってきました。元のエンティティは保存されたエンティティと一致する必要があります。私たちはまた、エンティティと新しいエンティティとのマッチを構成するものを定義する必要があります。
yipes - 1と2は本質的に同じように感じます。また3 - 一致を作るものを定義するとき - それはほぼ確実にキーであるIDになります。(または醜い - すべての代替キーを見つける) – Randy