【SpringCloud】Feign-01-配置

配置

  1. 导入依赖
<!--feign客户端依赖-->
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
  1. 在SpringBootApplication配置类上启用注解@EnableFeignClients
  2. 编写接口,并使用注解@FeignClient()声明,遵循SpringMVC规范
@FeignClient("userservice") // 写服务名称
public interface UserClient {

	@GetMapping("/user/{id}")  // 遵循SpringMVC规范
	User findById(@PathVariable("id") Long id);
}

相比于RestTemlate,优雅

// 2. 利用RestTemplate发起Http请求,查询用户
// 2.1. url路径
String url = "http://userservice:8081/user/" + order.getUserId().toString();
User user = restTemplate.getForObject(url, User.class);

  1. 测试
@Autowired
private UserClient userClient; // 依赖注入
public Order queryOrderById(Long orderId) {
	// 1.查询订单
	Order order = orderMapper.findById(orderId);
	// 2. 利用Feign发起Http请求,查询用户
	User user = userClient.findById(order.getUserId());
	// 3.封装user到Order
	order.setUser(user);
	// 4.返回
	return order;
}
posted @ 2024-11-20 19:18  chendsome  阅读(25)  评论(0)    收藏  举报