广告
返回顶部
首页 > 资讯 > 后端开发 > Python >@FeignClient的使用和Spring Boot的版本适配方式
  • 925
分享到

@FeignClient的使用和Spring Boot的版本适配方式

2024-04-02 19:04:59 925人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录@FeignClient使用和SpringBoot版本适配SpringCloud与springBoot版本兼容性在pom文件中添加依赖然后再给大家说一下Feign的使用Sprin

@FeignClient使用和Spring Boot版本适配

公司项目中需要调用微服务,公司使用的Spring Boot版本是1.5.X,而现在的都是用的2.X版本以上了。

在FeignClinet、spring cloud与Spring Boot的版本问题上跌跤了,现在在这里记录下来,希望对大家有用。

首先,先看一下官网给出的

Spring Cloud与Spring Boot版本兼容性

Spring CloudSpring Boot
Hoxton2.2.x, 2.3.x (Starting with SR5)
Greenwich2.1.x
Finchley2.0.x
Edgware1.5.x
Dalston1.5.x

并且还有一个值得注意的地方是Spring Cloud对Feign的支持在Finchley版本以下是由spring-cloud-starter-feign包提供的,而之后就是由spring-cloud-starter-openfeign提供的。

根据我的情况,我的Spring Cloud版本选了Edgware(脑子里浮现出一串数字:7777777),并且feign的依赖应该使用spring-cloud-starter-feign。大家可以根据自己项目情况选择。

在pom文件中添加依赖

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Edgware.RELEASE</version>
            <type>pom</type>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-feign</artifactId>
    <version>1.4.7.RELEASE</version>
</dependency>

然后再给大家说一下Feign的使用

@FeignClient(name = "feignClient", url="xxxx")
public interface FeignClient {
    @PostMapping(value = "/query")
    String query(@RequestParam String token);
}
@EnableFeignClients(basePackages = {"xxx"}) // 别忘了在启动类上加上注解,xxx的值为FeignClient定义所在的包
@Autowired
FeignClient feignClient;
feignClient.query("xxxxxxxxx");

Spring Boot“坑”之@FeignClient注解

在项目开发中难免会遇到一些问题,这次小编又遇到了一个很恶心的问题,由于刚接触springboot架构,配置和使用上都还比较陌生。

下面来描述一下我遇到的问题

项目是分模块开发,后台做无状态,登录和权限控制在网关上做,所有服务都注册到服务中心上,由网关往下分发请求

小编在写网关接口的时候遇到了问题,网关接口和后台接口都写的没有问题,但是在整合后,网关无法转发到这个接口上。经过百度许久后无果。

小编开始进行排查,由于在网关里@FeignClient 注解的接口中所有的方法请求地址和网关中所请求的地址一样,然后做出个大胆的推测,是不是这个原因呢??

然后开始试验,将网关请求的路径稍作修改,和请求后台的路径不一致,然后,问题解决!!(到目前为止,不知道原因)

贴上图片,更容易明白

【错误页】

【网关转发接口】

【后台请求接口】

【网关请求接口】

原因是因为网关请求接口名称和后台请求接口名称一样

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: @FeignClient的使用和Spring Boot的版本适配方式

本文链接: https://www.lsjlt.com/news/140827.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作