文章详情页
java - 微服务架构中类的设计以及restful返回json数据
浏览:154日期:2023-10-28 13:07:42
问题描述
问题1: 在spring boot 实现的微服务架构中,各个服务之间的数据交互问题 说明
比如在服务架构中两个服务之间的交互,服务A中有一个数据model,服务B调用后,服务A 将此类型的模型返回给服务B ,服务B中就必须也定义一个这样的数据模型才能正确的接收数据这样会造成类的多次定义?
问题2:在spring中使用restful返回客户端数据时,会进行模型转json操作,但是对象中定义了很多属性,而客户端只需要其中部分属性对应的值,那么如何在返回客户端之前将其中不需要的或者无值的属性剔除?
问题解答
回答1:答1:RPC通信的数据传输格式常用的有 json、xml 或 自定义的二进制格式,一般都会事先约定好。既然都是不同的服务,一般都是不同的团队来维护的。再说解析接收对象的类不一定要完全与输出对象一致。
答2:一种做法是输出对象定义必要属性,将你的中间对象转换成最终要输出的对象,去除多余属性。或者在对象转json的时候剔除多余属性,spring 中提供了 @JsonIgnore 注解,对 bean 的多余属性添加该注解后,转换json对象时,就会忽略该属性。
回答2:Q1: bean可以定义在一个独立的module中, 服务A和服务B都依赖这个module即可。
Q2: json注解忽略或者采用dto的方式,只获取需要的属性。
标签:
java
相关文章:
1. 关docker hub上有些镜像的tag被标记““This image has vulnerabilities””2. dockerfile - 为什么docker容器启动不了?3. javascript - 想做一个canvas的触摸画板,但屏幕会在画的时候滚来滚去,如何阻止?4. javascript - sublime快键键问题5. javascript - swiper插件loop模式下的BUG?6. javascript - webpack构建工具重构代码的流程是怎么样的?7. 运维 - java tomcat多个小项目共存问题8. mysql连表排序9. javascript - 请教下关于emoji在WEB输出的问题。10. javascript - 图片请求失败怎么去掉左上角的小图标?
排行榜

网公网安备