文章详情页
java - 微服务架构中类的设计以及restful返回json数据
浏览:117日期: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. javascript - npm run build后调用api返回index.html2. angular.js - 怎样实现点击 “分数” 后按分数升序和降序排列?3. vim - docker中新的ubuntu12.04镜像,运行vi提示,找不到命名.4. docker-machine添加一个已有的docker主机问题5. java - idea创建多modules项目后,tomcat启动失败6. macos - mac下docker如何设置代理7. angular.js - angularjs $q的promise 怎么解决嵌套的ajax问题?8. mac里的docker如何命令行开启呢?9. 主从复制 - MySQL 主从延迟 300s 以上,求大神解答10. javascript - webpack 使用babel转es6的时候出现了问题,但是webpack没有报错!!急急急
排行榜

网公网安备