打算系统学习一下微服务知识,从今天开始记录。
远程调用
调用order接口,查询。
由于实现还未封装用户信息,所以为null。
下面我们来使用远程调用用户服务的接口,然后封装一下用户信息返回即可。
流程图
配置类中注入RestTemplate
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
Service实现代码
@Service
public class OrderService {
@Autowired
private OrderMapper orderMapper;
@Resource
private RestTemplate restTemplate;
public Order queryOrderById(Long orderId) {
// 1.查询订单
Order order = orderMapper.findById(orderId);
// 2.查询用户,远程调用
String url = "http://localhost:8081/user/" + order.getUserId();
User user = restTemplate.getForObject(url, User.class);
// 3. 封装
order.setUser(user);
// 4.返回
return order;
}
}
再次查询:
这时user信息就有了。