一个关于微服务返回值问题

落网lee 2019-04-08 11:16:49
各位做微服务的大佬,请问微服务之间在调用的时候,各个微服务的返回值是统一采用ResultResponse这种封装的结果集?或者部分底层服务采用直接返回实体对象的方式?
...全文
399 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
落网lee 2019-04-08
  • 打赏
  • 举报
回复
引用 1 楼 maradona1984 的回复:
采用ResultResponse这种是合理的.
但不是显示的用,你的代码还是原来实体对象返回,但代码执行完之后要封装一层ResultResponse,如果出现异常,要将异常封装到ResultResponse里(当然也可以做任何别的事情),怎么做到看具体框架,然后接收的时候也是如此,前置会处理ResultResponse,有异常就直接抛,正常请求就取出真实返回值(这个一般在代理对象中处理),比如dubbo就是这样做的,框架天然如此,spring cloud可能需要自己封装

这样做的好处是你不需要写很多额外的固定的模版代码,那毫无意义,消息通过异常传递,不需要在ResultResponse里去封装
ResultResponse的操作都在你的框架层面代码处理

明白了 ,多谢
慢热感 2021-10-19
  • 举报
回复
@落网lee 微服务之间调用不应该是跟正常调用方法一样吗?个人觉得不应该有统一得返回处理,就跟controller调用service一样,这样不是更合理吗?个人得见解。
maradona1984 2019-04-08
  • 打赏
  • 举报
回复
采用ResultResponse这种是合理的.
但不是显示的用,你的代码还是原来实体对象返回,但代码执行完之后要封装一层ResultResponse,如果出现异常,要将异常封装到ResultResponse里(当然也可以做任何别的事情),怎么做到看具体框架,然后接收的时候也是如此,前置会处理ResultResponse,有异常就直接抛,正常请求就取出真实返回值(这个一般在代理对象中处理),比如dubbo就是这样做的,框架天然如此,spring cloud可能需要自己封装

这样做的好处是你不需要写很多额外的固定的模版代码,那毫无意义,消息通过异常传递,不需要在ResultResponse里去封装
ResultResponse的操作都在你的框架层面代码处理

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧