问题标签 [netflix-feign]

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 回答
2672 浏览

spring-cloud - 使用 Feign RequestInterceptor 无法访问的安全上下文

目标是使用 RequestInterceptor 从安全上下文中附加一些数据,但问题是调用SecurityContextHolder.getContext().getAuthentication()总是返回 null,即使它不为 null(我确信 100%)。

据我了解,这是因为拦截器已创建并正在其他线程中运行。

我该如何解决这个问题并从安全上下文中获取实际数据?

我的服务:

我的 FeignConfig 类:

0 投票
1 回答
4162 浏览

post - 无法对 Feign 使用 POST 方法

我正在尝试为 stockfigher 游戏 api 编写包装器,只是为了了解 feign 的工作原理,并且我在第一个 POST 方法时遇到了问题:

每当我尝试调用它时,都会出现异常:

有什么办法可以调整吗?

0 投票
0 回答
1034 浏览

spring-boot - 没有spring-cloud如何使用eureka+feign-client?

我有一个带有 spring cloud 的新项目(使用 eureka+feign 来显示界面)。我也有一些旧项目只使用没有 spring boot 和 spring cloud 的 springMVC。这些项目不想使用spring boot或spring cloud...问题是如何让我的旧项目使用eureka和feign的新接口。当我像这样将依赖项导入 pom.xml 时:

该项目没有以错误开始:

我不知道...请帮助我...

0 投票
5 回答
15404 浏览

java - spring-cloud-feign 客户端和 @RequestParam 与 Date 类型

这次我在一些 Spring Boot 应用程序中使用声明式 REST 客户端 Feign。

我想要实现的是调用我的 REST API 之一,它看起来像:

如您所见,API 接受使用 from 和 to 日期参数的调用,格式如下(yyyy-MM-dd)

为了调用该 API,我准备了以下部分@FeignClient

一般来说,几乎是复制粘贴。现在在我的启动应用程序的某个地方,我使用它:

而且,我得到的是

嵌套异常是 org.springframework.core.convert.ConversionFailedException: 无法从类型 [java.lang.String] 转换为类型 [@org.springframework.web.bind.annotation.RequestParam @org.springframework.format.annotation.DateTimeFormat java.util.Date] 的值'Sun May 03 00:00:00 CEST 2015';

嵌套异常是 java.lang.IllegalArgumentException: Unable to parse 'Sun May 03 00:00:00 CEST 2015'

所以,问题是,我对请求做错了什么,它在发送到我的 API 之前没有解析为“仅限日期”格式?或者它可能是一个纯粹的 Feign lib 问题?

0 投票
1 回答
3257 浏览

java - 使用@RequestLine 时设置媒体类型

我在我的 Feign Client 界面中使用 @RequestLine 注释。它只需要请求方法和路径,有没有办法设置它产生和消费的媒体类型?

这就是我所拥有的,有什么建议可以添加它产生和消费的媒体类型吗?

0 投票
1 回答
3277 浏览

java - @FeignClient 可以扩展 - 和 @RestController 实现 - 一个通用的、完全注释的接口吗?

我希望 Feign 客户端使用 Spring Boot 控制器,并且我希望它们之间的合同尽可能在通用接口中指定。

带有方法的接口看起来像这样:

Feign 客户端看起来像:

和 Spring 引导控制器:

很高兴我不必在两个地方指定@RequestMapping,但不幸的是,我似乎必须指定@RequestBody 两次。当控制器或共享接口中省略 @RequestBody 时,将实例化 Rule 对象,但所有成员都设置为 null。

有没有解决的办法 ?也许这在较新的版本中得到解决?我的依赖项包括:

我在这里发现这种技术至少需要 feign-core 8.6:

https://jmnarloch.wordpress.com/2015/08/19/spring-cloud-designing-feign-client/

谢谢你的帮助。

0 投票
1 回答
1516 浏览

java - 使用 Feign 将 POST 数据作为请求参数包含在内

假设我有一个类似以下的 API,其中PersonDto是一个简单的 pojo:

当我调用此 API 时,feign 在请求正文中包含 pojo 的所有属性(到目前为止这是标准且良好的),但我在另一端有一个旧版应用程序,它希望将 POST 数据作为请求参数包含在内。我知道我可以做类似的事情:

但如果我有太多参数,它会变得非常丑陋。

我尝试使用拦截器以编程方式添加参数,RequestTemplate.query但它们最终也都出现在请求正文中。

有什么办法可以在假装中做这样的事情吗?

0 投票
2 回答
16504 浏览

spring - Feign Client + Eureka POST 请求体

我正在尝试使用 Feign 和 Eureka 将发布请求从服务器 A 转发到服务器 B。两个服务器都被 Eureka 成功发现。

这有效:

但是,当我将第二个参数更改为 @RequestBody 以读取 POST 请求内容时,出现异常:

0 投票
2 回答
5825 浏览

spring - 尝试将 Oauth2 令牌与 feign 客户端和 hystrix 一起使用

我正在尝试从“ServiceA”调用“ServiceB”,这两个服务都是资源服务器,我正在尝试通过“Feign Client and OAuth2 toke”进行此服务间调用,这与配置类中的以下 bean 实现工作正常:

当我尝试使用带有后备功能的 Feign 客户端时,即没有 OAuth 令牌的 Hystrix(即,当所有服务都不是资源服务器时)也可以正常工作。

但是在尝试同时使用其中三个(即 Feignclient、Hystrix 和 OAuth2)时,它不起作用。尽管所有服务都已启动并正在运行,但每次它都会采用回退方法。

以下是我的代码:

应用程序.java

Callervice.java

HystrixWrappedClient.java

GitHubClient.java

pom.xml

请建议。每当尝试同时使用 Feignclient、OAuth2 和 Hystrix 时,它总是会使用 Fallback 方法。

0 投票
1 回答
1031 浏览

spring-boot - Feign/Eureka 客户端未传递 X-Forwarded-For 标头

我使用 Spring boot + Eureka + Feign 客户端将请求从一个发现的服务器转发到另一个服务器,它工作正常。

在我的服务器中,我需要获取原始用户的 IP。

我似乎找不到如何配置 Feign 客户端以自动编辑“X-Forwarded-For”标头,以便能够提取原始用户的 IP 地址。

当我使用 getRemoteAddr() 时,我得到了代理 IP 地址(如预期的那样)。当试图提取 request.getHeader("X-Forwarded-For") 我总是得到空值。

我应该在哪里添加/配置此功能?