OpenFeign

1.引入依赖

  <!--openFeign-->
  <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-openfeign</artifactId>
  </dependency>
  <!--负载均衡器-->
  <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-loadbalancer</artifactId>
  </dependency>

2.编写OpenFeign客户端

@FeignClient(name="item-service",path = "/items")
public interface ItemClient {
    @GetMapping
    List<ItemDTO> queryItemByIds(@RequestParam("ids") Collection<Long> ids);
}
  • @FeignClient(name="item-service") :声明服务名称
  • @FeignClient(path = "/items"): 相当于ItemController类上的@RequestMapping("/items")指定的路径
  • @GetMapping :声明请求方式
  • @RequestParam("ids") Collection ids :声明请求参数
  • List :返回值类型

3.使用FeignClient

@Autowired
private ItemClient itemClien;
List<ItemDTO> items = itemClient.queryItemByIds(itemIds);
  • @Autowired:依赖注入
  • queryItemByIds:调用方法

4.启用OpenFeign

@EnableFeignClients
@MapperScan("com.hmall.cart.mapper")
@SpringBootApplication
public class CartApplication {
    public static void main(String[] args) {
        SpringbootApplication.run(CartApplication.class, args);
    } 
}
  • @EnableFeignClients:寻找使用@FeignClient 注解的接口生成Feign客户端
posted @ 2025-03-20 20:22  一喵良  阅读(22)  评论(0)    收藏  举报