问题标签 [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.
java - Feign 无法解析名称
我正在尝试使用 Spring Cloud 的 Open Feign 调用另一个服务,但这是我不断得到的响应:
这是我的代码:
我将 Feign 配置为使用 OkHttp 客户端,但我不确定它是否对错误负责:
spring-boot - 假装下载文件
我正在尝试找到一种简单的方法来使用 Feign 下载 csv 文件(保留文件名)。
什么是最简单和最干净的方法?
feign-form github 页面上的多部分解决方案很冗长,对我不起作用。
任何帮助表示赞赏。
spring-cloud - FeignClient 无法解析 Eureka 服务名称
我正在使用spring-cloud-starter-openfeign
客户端编写一个 Eureka 客户端应用程序。这是我的POM
如您所见,我使用的是 spring boot 版本2.2.4.RELEASE
spring-cloud.versionHoxton.SR1
这是我的应用程序类:
直到这里我的客户端应用程序在 Eureka 服务上成功注册,我也可以在 Eureka 页面上看到我的应用程序。
现在我已经编写了一个接口来调用另一个服务,该服务也在 Eureka 上注册,
我正在从我的一个控制器中调用此方法。但 Feign 没有将服务名称解析为它的 URL。尝试进行 http 调用
而不是打电话
并获得超时异常(这很明显)。下面是堆栈跟踪
EDIT1:下面是我的 application.properties
spring-cloud - 如何向库中定义的 Spring Cloud OpenFeign 客户端添加特定配置?
我使用了一个库,它使用 spring-cloud-openfeign 定义了一些 OpenFeign 客户端。我需要向这些客户端添加一个拦截器,以在不更改库代码的情况下添加授权标头。
到目前为止,我只是将拦截器定义为 Spring bean,一切正常。但是现在我添加了另一个需要不同拦截器的 OpenFeign 客户端,我使用注释的configuration
属性定义了它。@FeignClient
我的问题是新客户端现在获得了两个拦截器。
我尝试使用应用程序属性配置第一个拦截器,但拦截器需要注入另一个 bean,这似乎需要将其定义为 bean,这将再次将其添加到第二个客户端。
我还尝试找到与 CDI@Typed
注释等效的内容,以便仅在查找它的具体类时才能找到拦截器,而在查找RequestInterceptor
接口时却找不到,但找不到任何接口。
有什么方法可以将配置添加到库中定义的 OpenFeign 客户端,这样它就不会影响任何其他客户端?
java - Spring Boot OpenFeign: java.lang.IllegalStateException: Method has too many Body parameters
下面的示例演示了使用 OpenFeign 时遇到的问题。当您的响应对象具有太多字段时,问题变得很明显,这会引发错误:Method has too many parameters。示例 1 完美运行,但示例 2 失败。
示例 1 使用 HTTP.POST 和示例 2 中使用的相同响应对象,后者使用 HTTP.GET。
为什么 OpenFeign 会限制 HTTP.GET 方法中的字段,并抛出异常?我不能使用 HTTP.POST 来获取/获取/读取资源。糟糕的 REST API 设计标准。
使用相同的响应对象,对于 HTTP.POST(有效),HTTP.GET 失败
堆栈跟踪:
我浏览了 OpenFeign 文档,它支持上述实现。如果我找不到这个问题的解决方案,我将不得不求助于解决方法和使用HTTP.POST
,@RequestBody
根据 Rest-API 设计标准,这不是一个理想的解决方案。
spring-boot - 如何使用内部 RestController 和 FeignClient 配置 Spring Sidecar
我有一个微服务场景,其中 Sidecar(spring boot 应用程序)映射了 python 网络服务器的端点。
python服务器监听5000并执行计算,所以我们决定在URI中用“calc”前缀映射它的主页,所以我们有以下配置:
然后,我在 Sidecar 微服务内部引入了一个新的 REST 控制器,即:
最后,我编写了一个 FeignClient,它应该允许我从其他微服务调用微服务的端点,如下所示:
我调用 FeignClient 得到的是,以“/git”开头的 URI 被重定向到 localhost:/5000 而不是 localhost:/2323,并带有以下日志:
正如我们在第一条日志行中看到的,主机是“localhost:5000”。我想要做的是对“/git/**”的调用不会重定向到 python,而是由 RestController 提供服务。
我怎样才能得到它?谢谢!
java - OpenFeign 客户端不应用“Content-Type”标头值:415 作为响应
我想使用 feign 执行 DELETE:
来自 ConsumersClient 接口的方法:
当我这样做时:
我得到了
由于消息是:““不支持内容类型”,我假设 Feign 没有将 Content-Type 值应用于其标题。
请注意:通过 Postman 的相同请求返回 200 并具有相同的参数。因此,该服务按预期工作。
Logback 说标题包括:
请帮助找出我的代码有什么问题。
java - spring boot feign客户端集成测试配置
美好的一天,我正在尝试编写 Feign 特定的集成测试并具有特定的配置以启用 feign 自动配置,看起来像这样
在我的测试中(Spock 规范)
MyService
正在使用RestClient
可悲的是,出现了运行测试规范异常
解决该问题的方法是添加@EnableFeignClients
类@SpringBootApplication
,但这样会与另一个测试(在我的情况下为 DataJpa 切片测试)混淆,为了避免它,我需要添加这行代码
如此处所述https://github.com/spring-projects/spring-boot/issues/7270用于每个集成测试,不使用 FeignAutoConfiguration 我真的不想这样做......
spring-boot - Feign 用 body 获取请求
出于某种原因,我需要调用 GET 方法 API 并为其传递 json 请求正文。我真的找不到它的例子。我想知道它是否甚至支持使用 feign。我怎样才能使用 feign 做到这一点?