06-服务拆分-服务远程调用
- 单例池增加restTemplate对象
- 新增接口
- 通过远程服务调用的方式实现功能
@Bean
public RestTemplate singletonRestTemplate(){
return new RestTemplate();
}
1.新增接口类
2.将单例池中的restTemplate对象依赖注入
3.符合restFul规范的接口合入
@GetMapping("{orderID}")
public Order queryOrderAndUser(@PathVariable("orderID") Long orderID){
String orderURL = "http://localhost:8088/order/"+orderID.toString();
Order forObject = restTemplate.getForObject(orderURL, Order.class);
String userURL = "http://localhost:8081/user/"+forObject.getUserId().toString();
User forObject1 = restTemplate.getForObject(userURL, User.class);
forObject.setUser(forObject1);
return forObject;
}
由于接口与微服务接口独立 因此,并不一定要专门与某个微服务放在一起 甚至可以独立出来
业务逻辑与微服务进一步分离
利用restTemplate,构建后端远程调用实现多服务以供业务