OpenFeign简单使用

OpenFeign入门

什么是 OpenFeign?

OpenFeign是一个远程访问的组件,用于两个微服务之间互相访问的中间件

OpenFeign使用步骤

1.添加OpenFeign的依赖

<!-- 加入OpenFeign的依赖 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

2.在启动类上添加@EnableFeignClients开启OpenFeign的功能支持

3.编写OpenFeign的客户端

创建一个接口,使用@FeignClient标记,其value属性设置远程访问的服务的服务名(注册到nacos注册中心的名字),同样可以设置降级操作,防止雪崩效应,两种方法设置降级操作,返回兜底值fallback和fallbackfactory

//指定注册到nacos注册中心的微服务名value ="spzx-product"
//设置降级操作fallbackFactory = RemoteCategoryServiceFactory.class,设置熔断工厂,返回兜底值
@FeignClient(value ="spzx-product",fallbackFactory = RemoteCategoryServiceFactory.class)
public interface RemoteCategoryService {
    @GetMapping("/category/remoteGetFirstProductCatepory/{parentId}")
    //需要在形参上指定参数的value,否则有时候远程访问会报错@PathVariable(value = "parentId")
    R<List<CategoryVo>> remoteGetFirstProductCatepory(@PathVariable(value = "parentId") Long parentId);
}

注意

远程访问时,若参数为实体类类型、map,此时以json的格式进行传输的,

因此远程访问的服务中相对应的控制器方法的参数和OpenFeign的接口中相对应的方法需要使用@RequestBody注解标记形参

相关推荐
潜水阿宝3 天前
微服务网关鉴权之sa-token
java·spring boot·微服务·gateway·springcloud
Mr.Demo.5 天前
[Spring] OpenFeign的使用
java·后端·spring·springcloud
半旧5188 天前
cursor重构谷粒商城05——docker容器化技术快速入门【番外篇】
spring·docker·容器·重构·springcloud·cursor·谷粒商城
Mr.Demo.9 天前
[Spring] Nacos详解
java·后端·spring·微服务·springcloud
DanceDonkey14 天前
@LoadBalanced注解的实现原理
rpc·springcloud·resttemplate·客户端负载均衡
xiaolin033316 天前
RabbitMQ确保消息可靠性
微服务·rabbitmq·springcloud·可靠性
IT机器猫21 天前
SpringCloud项目搭建快速入门
intellij-idea·springboot·springcloud·springalibaba
sg_knight25 天前
RabbitMQ如何实现队列持久化
分布式·消息队列·rabbitmq·springcloud·持久化
Cikiss1 个月前
微服务实战——购物车模块实战
java·开发语言·后端·spring·微服务·springcloud
CYX_cheng1 个月前
Sentinel
springcloud