一、服务通信
- 我们先使用RestTemplate来简单演示一下服务之间的通信,需求是:用户微服务编写controller接口返回User对象,订单微服务通过RestTemplate向用户服务器发起请求获取User对象,浏览器访问订单为服务,拿到User。
1.搭建用户模块
1.1.创建工程
- 订单服务调用用户服务获取User对象实现服务之间的通信,用户服务需要提供User,订单服务获取到User,我们发现两个服务都需要用到User对象,那么我们考虑吧User对象抽取成一个公共的模块
springcloud-user-common
1.2.user-common公共模块中建立User
public class User {
private Long id;
private String username;
private String desc;
public User() {
}
public User(Long id, String username, String desc) {
this.id = id;
this.username = username;
this.desc = desc;
}
2.User-server提供者服务编写接口
2.1.依赖公共模块
- 用户服务需要依赖User模块 ,然后暴露接口返回User,提供给订单服务访问给User-server模块导入user-common模块
<dependency>
<groupId>cn.itsource.springcloud</groupId>
<artifactId>springcloud-user-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
2.2.创建controller