微服务间如何共享实体类?

微服务AppCity,实体类City城市
微服务AppCountry,实体类Country国家

在AppCountry的Service层中写一个接口

package org.foo.bar.country.service;

@FeignClient(略)
public interface CityService{
    // CommonResponse是自定义的响应类
    CommonResponse<City> getCityInCountry(City condition);
}

那这个City应该放在哪,所有的微服务都把自己的实体类放在common模块中不太合适吧,那这两个微服务之间怎么传递这个City呢?DTO和Converter又该怎么写

阅读 3.4k
4 个回答

可以写成一个共享模块 打成Jar包 哪里需要这个共享模块里的实体类就哪里引入就行了

新手上路,请多包涵

创一个通用的微服务放入实体类,引入到微服务AppCity和微服务AppCountry中,就能共用了

新建一个包 org.foo.bar.country.domain;
共享的实体都放在里面。

如果多个微服务需要使用同一个实体类,比如City,那么最好的做法是将这个实体类定义在一个独立的库(library)中,然后让这些微服务依赖这个库。

说白了就是自有三方库.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏