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注解标记形参

相关推荐
Rancemy2 天前
springcloud03-Nacos配置中心
java·intellij-idea·springcloud
麦兜*17 天前
SpringBoot 2.x→3.0升级实战:Jakarta EE兼容性改造清单
java·spring boot·后端·spring·系统架构·maven·springcloud
麦兜*22 天前
Spring Boot 企业级动态权限全栈深度解决方案,设计思路,代码分析
java·spring boot·后端·spring·spring cloud·性能优化·springcloud
弗锐土豆23 天前
一个基于若依(ruoyi-vue3)的小项目部署记录
前端·vue.js·部署·springcloud·ruoyi·若依
lingRJ7771 个月前
微服务架构下的抉择:Consul vs. Eureka,服务发现该如何选型?
java·eureka·springcloud·consul·backend·microservices·servicediscovery
默默coding的程序猿1 个月前
3.前端和后端参数不一致,后端接不到数据的解决方案
java·前端·spring·ssm·springboot·idea·springcloud
武子康1 个月前
Java-51 深入浅出 Tomcat 手写 Tomcat 类加载机制 双亲委派机制 生命周期 插件化
java·开发语言·spring boot·后端·spring·tomcat·springcloud
保持学习ing2 个月前
黑马Java面试笔记之 微服务篇(SpringCloud)
java·笔记·后端·阿里云·面试·负载均衡·springcloud
曼彻斯特的海边2 个月前
spring-cloud-alibaba-sentinel-gateway
gateway·sentinel·springcloud