问题标签 [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 - Feign ErrorDecoder 未被调用 - 如何配置 feign 以使用它?
据我了解,当请求响应状态码!= 2xx 时,将调用 feign ErrorDecoder 的 decode() 方法。通过调试我的测试,我发现我的 CustomErrorDecoder 的 decode() 方法没有在例如 504 或 404 上调用。我尝试了两种配置方法:
将其作为 Bean 包含在客户端配置中:
或将其写入应用程序配置:
两种方式都不会调用 ErrorDecoder。我究竟做错了什么?Bean 正在实例化,我的 CustomErrorDecoder 如下所示:
更新:
我在这个 git 仓库. 请查看提交历史以找到我尝试过的 3 种方法。
spring-cloud-sleuth - 我如何在 Spring Boot 2 中使用 Sleuth Span
尝试从 spring boot 1 升级到 2,我面临的问题是跟踪
在 spring boot 1 中,我们使用了在 spring boot 2 中似乎已弃用的 sleuth Trace,并建议使用“brave”。
其中一个问题是我们的另一个微服务正在使用spring boot 1,我如何在spring boot 2中携带Span?它已被弃用。
我尝试使用 sleuth 旧版本,但遇到冲突和 spring 应用程序无法启动
resilience4j - 未使用 CompletableFuture 执行服务
我一直在尝试使用 Resilience4j + OpenFeign 来调用服务。当我收到错误时,超时工作正常,但是,如果成功,它总是返回null
,我找不到原因。有人可以帮我吗?
创建构建器:
使用 RateLimiter 获得 CompletableFuture:
调用服务并始终获得null
结果:
API 正在返回一些东西,但是,我无法以这种方式工作。有什么我在这里想念的吗?
我正在使用以下版本:
提前致谢。
spring-cloud - 如何为在 SAME Eureka 服务下注册的每个实例配置单独的弹性 4j 断路器
这是我的场景:
Eureka Server: MY-APP-SERVICE,在 localhost:8080、localhost:8081 和 localhost:8082 上运行 3 个相同的 Spring Boot 应用程序实例
OpenFeign 客户端(注解如下)
我有一个代理控制器,例如 MyAppServiceClientController 如下:
当 FeignClient 向 Eureka 注册中心询问服务 MY-APP-SERVICE 时,它会获得所有 3 个实例;似乎resilience4j在服务级别只有1个断路器,这里是MY-APP-SERVICE。
如何配置/注释我的 FeignClient 为我的 MY-APP-SERVICE 中的每个实例/URL 有一个单独的弹性 4j 断路器?
java - 如何在 POST 请求中使用附加的 @RequestBody 将 Pageable 传递给 Feign 客户端
我试图在 Spring 中为我的 REST 服务控制器创建一个 feign 客户端。
客户端看起来像这样:
运行测试时抛出以下异常:
引起:java.lang.IllegalStateException: Method has too many Body parameters: public abstract org.springframework.data.domain.Page com.foo.bar.jobservice.client.MeasureServiceClient.searchMeasures(java.lang.String,com.example .foo.jobservice.client.dto.MeasureDto,org.springframework.data.domain.Pageable)
我已经知道/尝试过的:
github上有一个已关闭的issue:https ://github.com/spring-cloud/spring-cloud-netflix/issues/556
应该解决问题的提交的问题:
https://github.com/spring-cloud/spring-cloud-openfeign/issues/26
提交:
我配置了什么:
还是行不通。
我正在使用什么:
我究竟做错了什么?
更新:
我创建了一个可重现的示例:
https://github.com/manuelwaltschek/mre.git
启动客户端服务或调用 spring/spring-cloud-openfeign/375-pageable-not-working/parent/client/src/test/java/com/example/client/HelloServiceClientTest.java
github上的未解决问题: https ://github.com/spring-cloud/spring-cloud-openfeign/issues/375 https://github.com/spring-cloud/spring-cloud-openfeign/issues/385
编辑:基本上我想知道如何将 pageable 传递给 feign 客户端。也许在 url 参数中对其进行编码?
java - OpenAPI Generator:为下载二进制文件生成正确的方法配置文件
我有一个 Swagger 文件 (OAS 2),其端点用于下载文件。我正在使用 openapi-generator(通过 Maven 插件)来生成 Java / OpenFeign 客户端代码。
问题是这个特定的端点转换为:
null
调用时返回。据此,正确的方法配置文件应该是:
事实上,如果我自己编写接口,我可以使用这种方法:
所以问题是:如何配置生成器以使用Response
此端点的类型?
我努力了:
但这会将File
type替换为Response
任何地方,包括在我不想要的其他端点中,特别是(猜猜是什么)上传端点,它生成为:
并且像这样工作正常。
这是 Swagger 文件的相关部分:
java - 使用 openfeign 的多个表单数据
我尝试使用 spring openfeign在表单数据中定义多个参数
(版本 2.1.9.RELEASE)
这是方法
但是在启动服务时出现以下异常:
spring - Spring Cloud Open Feign:从 gzip 响应正文中剥离的换行符“\n”
在 Spring Cloud Open Feign 中使用响应压缩配置(如下所示)时,从gzip响应正文中删除了换行符(“\n”或“\r”)。没有引发错误。换行符只是被空字符串“”替换。响应具有正确的“content-encoding: gzip”标头和格式良好的 gzip 压缩正文内容。
有人有线索吗?当我在这里打开spring-cloud-openfeign/issue400 时,这对我来说似乎是个问题
SpringCloudFeignClient.java
应用程序测试.java:
引导程序.yml:
版本:
完整项目在这里: https ://github.com/spring-cloud/spring-cloud-openfeign/files/5147346/spring-cloud-feign-gzip.zip
spring - Feign + Eureka 没有springboot
我需要使用spring 应用程序中的Feign和Eureka来调用在 Eureka 服务器上注册的微服务。
从这里的OpenFeign github 页面我发现了如何在 spring 中使用 feign。
我在任何地方都找不到如何在春天一起使用 Eureka 和 Feign
如何在没有 springboot的情况下将 Eureka 服务发现与 Feign 一起使用?
java - java.lang.IllegalStateException:没有定义负载平衡的假装客户端。您是否忘记包含 spring-cloud-starter-netflix-ribbon?
我得到了例外:
在执行我的项目时。我的 pom.xml 包含
我也在我的其他项目中使用 feign 客户端,没有任何额外的功能区依赖,这些都使用相同的 spring-boot 版本 2.0.8
我已经针对相同的问题引用了其他堆栈溢出链接,他们要求添加功能区的其他依赖项。我尝试在我的 pom.xml 中添加相同的内容,但没有帮助。
FeignClient 接口是,
主类代码:
我正在使用 Sprint Boot 版本 2.0.8。