微服务调用的时候,需要把请求实体类和响应实体类复制一遍,好麻烦。

2023-11-24 15:31:58 +08:00
 OceanRs
1849 次点击
所在节点    程序员
15 条回复
coderxy
2023-11-24 16:00:31 +08:00
一般都是自动生成吧? 比如我们用 grpc ,就是 proto 自动生成。
nekomiao
2023-11-24 16:08:05 +08:00
我司是专门把实体类和响应实体类分了一个包出来,需要调用的时候直接引用就行
yeqizhang
2023-11-24 16:09:36 +08:00
不能有 common 模块放这些吗?
lsk569937453
2023-11-24 16:09:54 +08:00
让服务提供方直接发 jar 包阿,你引用就好了。
xiaoHuaJia
2023-11-24 16:21:00 +08:00
每个服务搞个 api jar 包。其他服务引用即可
OceanRs
2023-11-24 16:31:46 +08:00
@xiaoHuaJia 这样是不是每次服务改了都要去替换这个 jar 包哦!
OceanRs
2023-11-24 16:32:20 +08:00
@coderxy 用的 OpenFeign
suijishu
2023-11-24 19:00:45 +08:00
2 楼正解
amon
2023-11-24 19:49:53 +08:00
抽个 common 模块出来,每次有更新更新 pom 版本就完事了。
wxw752
2023-11-24 20:20:45 +08:00
每个微服务项目都是两个子项目 xxxxx-client 包放那些枚举、DTO 、VO 、feign 调用这些。xxxxx-server 里面是正常的微服务项目。 其他微服务需要调用就直接依赖一下 client 子项目
crazyweeds
2023-11-24 20:27:48 +08:00
如果你说的是 A 服务调用 B 服务,你需要把 B 服务的相应类复制到 A 模块,那么你就错了。你正确的做法是应该将 B 服务的 feign+相应体抽取为公用模块,A 服务调用 B 服务的需求产生后,你只需要 A 服务依赖 B 服务的 feign 模块即可。
gamexg
2023-11-24 21:06:31 +08:00
抽取个协议模块,里面定义上协议的结构。
flmn
2023-11-25 15:54:54 +08:00
都这样了,那还是 grpc 吧
OceanRs
2023-11-25 22:50:52 +08:00
@wxw752 懂了,感谢各位大佬!
xiaoHuaJia
2023-11-28 11:32:17 +08:00
@OceanRs maven 引用即可

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/994865

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX