OpenFeign快速入门及使用
前言
需要先部署Nacos注册中心
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
启动类上添加注解,启动OpenFeign功能
代码如下:
@EnableFeignClients
@SpringBootApplication
public class CartApplication {public static void main(String[] args) {SpringApplication.run(CartApplication.class, args);}
}
3.编写OpenFeign客户端
代码如下:
@FeignClient("item-service")
public interface ItemClient {@GetMapping("/items")List<ItemDTO> queryItemByIds(@RequestParam("ids") Collection<Long> ids);
}
4.使用FeignClient
代码如下:
private final ItemClient itemClient;
private void handleCartItems(List<CartVO> vos) {// 获取商品idSet<Long> itemIds = vos.stream().map(CartVO::getItemId).collect(Collectors.toSet());// 查询商品List<ItemDTO> items = itemClient.queryItemByIds(itemIds);}
5.Feign底层http请求连接池改造
代码如下:导入依赖
<!--OK http 的依赖 -->
<dependency><groupId>io.github.openfeign</groupId><artifactId>feign-okhttp</artifactId>
</dependency>
开启连接池
feign:okhttp:enabled: true # 开启OKHttp功能