質問 1: Spring Boot によって実装されたマイクロサービス アーキテクチャでは、さまざまなサービス間のデータ相互作用の問題 説明
質問 2: Spring で RESTful を使用してクライアント データを返す場合、モデルは JSON に変換されますが、オブジェクトには多くの属性が定義されており、クライアントは一部の属性に対応する値のみを必要とします。属性では、クライアントに返す前に不要な属性または値のない属性を削除するにはどうすればよいでしょうか?
回答 1: RPC 通信で一般的に使用されるデータ送信形式は、json、xml、またはカスタム バイナリ形式であり、通常は事前に合意されています。 これらは異なるサービスであるため、通常は異なるチームによって保守されています。さらに、解析された受信オブジェクトのクラスは、出力オブジェクトと完全に一致している必要はありません。
回答 2: 1 つの方法は、出力オブジェクトの必要な属性を定義し、中間オブジェクトを出力される最終オブジェクトに変換し、冗長な属性を削除することです。 または、オブジェクトを JSON に変換するときに冗長な属性を削除します。Spring は @JsonIgnore アノテーションを提供します。このアノテーションを Bean の冗長な属性に追加すると、その属性は JSON オブジェクトの変換時に無視されます。
Q1: Bean は独立したモジュールで定義でき、サービス A とサービス B の両方がこのモジュールに依存します。
Q2: json アノテーションを無視するか、dto を使用して必要な属性のみを取得します。
回答 1:
RPC 通信で一般的に使用されるデータ送信形式は、json、xml、またはカスタム バイナリ形式であり、通常は事前に合意されています。
これらは異なるサービスであるため、通常は異なるチームによって保守されています。さらに、解析された受信オブジェクトのクラスは、出力オブジェクトと完全に一致している必要はありません。
回答 2:
1 つの方法は、出力オブジェクトの必要な属性を定義し、中間オブジェクトを出力される最終オブジェクトに変換し、冗長な属性を削除することです。
または、オブジェクトを JSON に変換するときに冗長な属性を削除します。Spring は @JsonIgnore アノテーションを提供します。このアノテーションを Bean の冗長な属性に追加すると、その属性は JSON オブジェクトの変換時に無視されます。
Q1: Bean は独立したモジュールで定義でき、サービス A とサービス B の両方がこのモジュールに依存します。
Q2: json アノテーションを無視するか、dto を使用して必要な属性のみを取得します。