文章详情页
java - 微服务架构中类的设计以及restful返回json数据
浏览:90日期: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. angular.js - 输入邮箱地址之后, 如何使其自动在末尾添加分号?2. javascript - JS 里面的 delete object.key 到底删除了什么?3. mysql - 电商如何存储营业额数据4. javascript - 后台管理系统左侧折叠导航栏数据较多,怎么样直接通过搜索去定位到具体某一个菜单项位置,并展开当前菜单5. 管理员信息修改时的密码问题6. java如何生成token?7. javascript - html5的data属性怎么指定一个function函数呢?8. javascript - 如何使用nodejs 将.html 文件转化成canvas9. html5 - 为什么使使用vue cli 脚手架,post-css 没有自动对css3属性自动添加浏览器前缀呢?10. android - RxJava 中有根据条件执行不同函数的操作符吗?
排行榜
