问题标签 [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.
spring - 如何在应用程序/xml中接受假装响应
我正在调用以 XML 格式返回响应的第 3 方 API。由于我没有创建任何 POJO 来在我使用java.lang.Object
的消费者服务中保持响应。
我收到以下错误。
我的假客户端代码
我想知道如何通过 feign 来保存 XML 响应。
spring-cloud - 微服务之间的通信:Spring Cloud OpenFeign vs WebClient/RestTemplate
任何想法请关于使用背靠背通信的最佳方式?
春天云 OpenFeign或WebClient/RestTemplate?
我认为spring cloud gateway需要的时候应该使用feign客户端
与其他微服务通信,而WebClient/RestTemplate应该用于背靠背通信。
我错了吗 ?
spring-boot - 使用 OpenFeign 格式化日期
我的 Feign 客户定义如下:
在哪里 :
但是,当我运行此测试时:
请求以这种格式发送:
我想要的是:
日期是我需要的格式化程序。
我也尝试过这个解决方案,但都没有工作:
有任何想法吗 ?
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。知道如何解决这个问题吗?
spring-boot - 使用 Spring Boot 和 Feign 客户端使用 SOAP
我正在努力使用开放的假装客户端正确发出 SOAP 请求并获得响应。出于测试目的,我采用了这个公共 SOAP 服务http://www.learnwebservices.com/这是 WSDL -> http://www.learnwebservices.com/services/hello?WSDL
我从这个 WSDL 生成了如下所示的类:
我试着按照这个例子:
基本上我创建了这个伪装配置:
然后在这里我尝试像这样调用端点:
首先,当我尝试进行调用时,我收到错误消息,提示 HelloRequest 缺少 XmlRootElement,因此我将该注释添加到类中(即使我不确定要放置什么作为根元素,我只是在类顶部添加了 @XmlRootElement。之后,当我创建请求时,我收到此错误:
显然我做错了什么,有人可以给我一些指导,因为我找不到太多关于这个主题的材料。
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:
java - SpringBoot MultipartFile 使用 OpenFeign 在微服务之间上传
所以我在 SpringBoot、A 和 B 上有 2 个微服务。对 A 的 api 调用必须从 B 完成,它需要使用 openfeign 客户端传递 MultiPartFile。
问题:遇到以下错误
从调用逻辑可以看出,FeignClient的initialDocContainer函数被调用并且工作正常。Eureka 发现服务用于微服务发现。
微服务 A 中的 API 端点如下:
在提到诸如openfeign 问题和其他 stackoverflow 问题等来源时,这是我尝试过的配置和 feignclient。这不起作用
配置类
FeignClient
调用逻辑
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
并添加依赖项)
spring-boot - 从配置文件中获取断路器实例
这是我的配置文件。
我正在尝试使用Resilience4jFeign创建我的 feign 客户端的 bean,但断路器对象是使用默认配置初始化的,名称建议为CircuitBreaker.ofDefaults。我找不到任何方法将我的断路器实例从配置变为对象。
spring - 导致 UnsupportedMediaType 415 OpenFeign 的内容类型标头值
我们最近从版本 2.0.0 升级到spring-cloud-starter-openfeign: 2.2.2
,在调用使用consumes
并具有@RequestHeader
Content-Type 的 REST API 时遇到以下异常:
我们的 Feign 接口定义如下:
我们调查并看到在这种情况下,两个值都被连接如下:
使用时spring-cloud-starter-openfeign:2.0.0
不会出现此问题。