问题标签 [openfeign]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1398 浏览

spring - 如何在应用程序/xml中接受假装响应

我正在调用以 XML 格式返回响应的第 3 方 API。由于我没有创建任何 POJO 来在我使用java.lang.Object的消费者服务中保持响应。

我收到以下错误。

我的假客户端代码

我想知道如何通过 feign 来保存 XML 响应。

0 投票
1 回答
1657 浏览

spring-cloud - 微服务之间的通信:Spring Cloud OpenFeign vs WebClient/RestTemplate

任何想法请关于使用背靠背通信的最佳方式?

春天云 OpenFeignWebClient/RestTemplate

我认为spring cloud gateway需要的时候应该使用feign客户端

与其他微服务通信,而WebClient/RestTemplate应该用于背靠背通信。

我错了吗 ?

0 投票
1 回答
259 浏览

spring-boot - 使用 OpenFeign 格式化日期

我的 Feign 客户定义如下:

在哪里 :

但是,当我运行此测试时:

请求以这种格式发送:

我想要的是:

日期是我需要的格式化程序。

我也尝试过这个解决方案,但都没有工作:

有任何想法吗 ?

0 投票
1 回答
1431 浏览

java - 如何通过当前请求的 Feign 拦截器向 feign-client 添加动态标头值?

我是 Spring-cloud-openfeign 的新手。我正在尝试构建一个基于微服务的系统。为了让事情看起来更简单,只需使用其中的 3 个服务,即网关、服务 A、服务 B。当我通过网关从我的前端向 Service-A 发出请求时,网关将验证请求中的 JWT 令牌,并从令牌中提取用户信息(userId)并将作为请求头放入请求并将其转发给服务-A。现在 Service-A 将通过 feign-client 调用 service-B。现在,在通过 feign-client 进行的服务间调用期间,我试图通过 Feign RequestIterceptor 将用户 ID 从 Serice-A 中的当前请求转发到服务 B 的传出请求。但我无法在拦截器中检索当前请求。我在这个stack_over_question中尝试了解决方案,但它似乎不起作用。我想我面临与这个github_issue相同的问题。我可以看到一些博客和文章建议使用 RequestContextListner 或 RequestContextFilter 从 Dispatcher-Servlet 中获取当前请求,但我不知道如何使用或实现它。以下是我目前使用的代码

依赖项

<spring-cloud.version>Hoxton.SR8</spring-cloud.version>

此代码引发 NullPointer 异常,因为 RequestContextHolder.getRequestAttributes() 返回 null。知道如何解决这个问题吗?

0 投票
0 回答
1296 浏览

spring-boot - 使用 Spring Boot 和 Feign 客户端使用 SOAP

我正在努力使用开放的假装客户端正确发出 SOAP 请求并获得响应。出于测试目的,我采用了这个公共 SOAP 服务http://www.learnwebservices.com/这是 WSDL -> http://www.learnwebservices.com/services/hello?WSDL

我从这个 WSDL 生成了如下所示的类:

我试着按照这个例子:

如何使用 FEIGN 客户端发送 SOAP 对象?

基本上我创建了这个伪装配置:

然后在这里我尝试像这样调用端点:

首先,当我尝试进行调用时,我收到错误消息,提示 HelloRequest 缺少 XmlRootElement,因此我将该注释添加到类中(即使我不确定要放置什么作为根元素,我只是在类顶部添加了 @XmlRootElement。之后,当我创建请求时,我收到此错误:

显然我做错了什么,有人可以给我一些指导,因为我找不到太多关于这个主题的材料。

0 投票
5 回答
46349 浏览

java - 启动spring boot应用程序时bean创建错误

当我尝试运行我的 Spring Boot 应用程序时,我得到了这个异常:

org.springframework.beans.factory.BeanCreationException:在类路径资源[org/springframework/cloud/autoconfigure/ConfigurationPropertiesRebinderAutoConfiguration.class]中定义名称为“configurationPropertiesBeans”的bean创建错误:合并bean定义的后处理失败;嵌套异常是 java.lang.IllegalStateException: Failed to introspect Class [org.springframework.cloud.context.properties.ConfigurationPropertiesBeans] 来自 ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@3764951d]

我认为是版本不兼容。我在我的 pom.xml 中导入了 open feign,之后它不起作用,但我不知道如何解决这个问题。我使用 open feign 2.2.5.RELEASE。这是我的 pom.xml:

0 投票
0 回答
185 浏览

java - SpringBoot MultipartFile 使用 OpenFeign 在微服务之间上传

所以我在 SpringBoot、A 和 B 上有 2 个微服务。对 A 的 api 调用必须从 B 完成,它需要使用 openfeign 客户端传递 MultiPartFile。

问题:遇到以下错误

从调用逻辑可以看出,FeignClient的initialDocContainer函数被调用并且工作正常。Eureka 发现服务用于微服务发现。

微服务 A 中的 API 端点如下:

在提到诸如openfeign 问题和其他 stackoverflow 问题等来源时,这是我尝试过的配置和 feignclient。这不起作用

配置类

FeignClient

调用逻辑

0 投票
2 回答
583 浏览

java - 为什么以 jar 运行时会出现 java.lang.ClassNotFoundException,但与 IntelliJ IDEA 配合得很好

春季启动版本:2.4.1

春云版本:2020.0.0

我的代码

我的 pom.xml 依赖

我的 pom.xml 插件

使用 IntelliJ IDEA 运行时,它运行良好。

但是当使用 jar(by mvn clean package) 运行时,它显示

经过研究错误日志,我发现这feign.codec.EncodeException是可选依赖项spring-cloud-openfeign-core,因此 ClassNotFoundException 是正确的行为(可选依赖项不包含在最终 jar 中)。

所以我的问题是:为什么 IntelliJ IDEA 可以毫无错误地运行?我尝试了 IntelliJ IDEA run 和 mvn spring-boot:run,两者都工作正常。

更新:添加示例

经过更多研究,我发现只有在没有上课时才会发生这种情况。

在这个例子中,try catch 从不​​抛出异常。并且EncodeException该类处于可选依赖项中。此代码在 IntelliJ IDEA 中运行良好,但运行时失败java -jar xxx.jar

========== 用最少的演示再次更新

我创建了一个最小的演示来重现这个问题。

  • 一个独立的演示模块
  • 演示 spring 项目(创建spring initializr并添加依赖项)
0 投票
1 回答
392 浏览

spring-boot - 从配置文件中获取断路器实例

这是我的配置文件。

我正在尝试使用Resilience4jFeign创建我的 feign 客户端的 bean,但断路器对象是使用默认配置初始化的,名称建议为CircuitBreaker.ofDefaults。我找不到任何方法将我的断路器实例从配置变为对象。

0 投票
0 回答
291 浏览

spring - 导致 UnsupportedMediaType 415 OpenFeign 的内容类型标头值

我们最近从版本 2.0.0 升级到spring-cloud-starter-openfeign: 2.2.2 ,在调用使用consumes并具有@RequestHeaderContent-Type 的 REST API 时遇到以下异常:


我们的 Feign 接口定义如下:

我们调查并看到在这种情况下,两个值都被连接如下:

使用时spring-cloud-starter-openfeign:2.0.0不会出现此问题。