Frage 1: In der von Spring Boot implementierten Microservice-Architektur besteht das Problem der Dateninteraktion zwischen verschiedenen Diensten
Erklärung
比如在服务架构中两个服务之间的交互,服务A中有一个数据model,
服务B调用后,服务A 将此类型的模型返回给服务B ,
服务B中就必须也定义一个这样的数据模型才能正确的接收数据这样会造成类的多次定义?
Frage 2: Wenn Sie Restful in Spring verwenden, um Clientdaten zurückzugeben, wird das Modell in JSON konvertiert, aber im Objekt sind viele Attribute definiert, und der Client benötigt nur die Werte, die einigen Attributen entsprechen Wie kann ich es vor dem Entfernen unnötiger oder wertloser Attribute an den Client zurückgeben?
答1:
RPC通信的数据传输格式常用的有 json、xml 或 自定义的二进制格式,一般都会事先约定好。
既然都是不同的服务,一般都是不同的团队来维护的。再说解析接收对象的类不一定要完全与输出对象一致。
答2:
一种做法是输出对象定义必要属性,将你的中间对象转换成最终要输出的对象,去除多余属性。
或者在对象转json的时候剔除多余属性,spring 中提供了 @JsonIgnore 注解,对 bean 的多余属性添加该注解后,转换json对象时,就会忽略该属性。
Q1: bean可以定义在一个独立的module中, 服务A和服务B都依赖这个module即可。
Q2: json注解忽略或者采用dto的方式,只获取需要的属性。