1.在配置类(启动类)中注册RestTemplate
//创建RestTemplate并注入Spring容器
@Bean
public RestTemplate restTemplate(){
return new RestTemplate();
}
2.远程服务调用RestTemplate
@Service
public class OrderService {
@Autowired
private OrderMapper orderMapper;
@Autowired
private RestTemplate restTemplate;
public Order queryOrderById(Long orderId) {
// 1.查询订单
Order order = orderMapper.findById(orderId);
//2.利用RestTemplate发起http请求,查询用户
String url="http://localhost:8081/user/"+order.getUserId();
User user = restTemplate.getForObject(url, User.class);//第二个参数把
json反序列化成User对象
//3.封装User到Order
order.setUser(user);
// 4.返回
return order;
}
}
RestTemplate方式调用存在下面的问题:
1.
代码可读性差,编程体验不统一
2.
参数复杂
URL
难以维护