RestTemplate代码:
// public Order queryOrderById(Long orderId) {
// // 1.查询订单
// Order order = orderMapper.findById(orderId);
// //String url = "http://localhost:8081/user/" +order.getUserId();
// String url = "http://userservice/user/" +order.getUserId();
// User user= restTemplate.getForObject(url, User.class);
//
// order.setUser(user);
//
// // 4.返回
// return order;
//
// }
单纯看以上的RestTemplate代码,不管是最原始的
String url = "http://localhost:8081/user/" +order.getUserId()
还是用Eureka或者nacos被配置过的
String url = "http://userservice/user/" +order.getUserId();
从外观上来看都很臃肿,不优雅
所以这里引入Feign
Feign的使用
引入依赖
创建一个接口

替换RestTemplate的方式
@Autowired
private UserClient userClient;
public Order queryOrderById(Long orderId) {
// 1.查询订单
Order order = orderMapper.findById(orderId);
User user = userClient.findById(order.getUserId());
order.setUser(user);
// 4.返回
return order;
}

本文介绍了如何使用Feign库来优化RestTemplate代码,通过依赖注入和创建接口,使得URL构建更简洁,提升了代码的可维护性和优雅性。
613

被折叠的 条评论
为什么被折叠?



