问题标签 [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.
spring-cloud - 使用 Feign RequestInterceptor 无法访问的安全上下文
目标是使用 RequestInterceptor 从安全上下文中附加一些数据,但问题是调用SecurityContextHolder.getContext().getAuthentication()
总是返回 null,即使它不为 null(我确信 100%)。
据我了解,这是因为拦截器已创建并正在其他线程中运行。
我该如何解决这个问题并从安全上下文中获取实际数据?
我的服务:
我的 FeignConfig 类:
post - 无法对 Feign 使用 POST 方法
我正在尝试为 stockfigher 游戏 api 编写包装器,只是为了了解 feign 的工作原理,并且我在第一个 POST 方法时遇到了问题:
每当我尝试调用它时,都会出现异常:
有什么办法可以调整吗?
spring-boot - 没有spring-cloud如何使用eureka+feign-client?
我有一个带有 spring cloud 的新项目(使用 eureka+feign 来显示界面)。我也有一些旧项目只使用没有 spring boot 和 spring cloud 的 springMVC。这些项目不想使用spring boot或spring cloud...问题是如何让我的旧项目使用eureka和feign的新接口。当我像这样将依赖项导入 pom.xml 时:
该项目没有以错误开始:
我不知道...请帮助我...
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 问题?
java - 使用@RequestLine 时设置媒体类型
我在我的 Feign Client 界面中使用 @RequestLine 注释。它只需要请求方法和路径,有没有办法设置它产生和消费的媒体类型?
这就是我所拥有的,有什么建议可以添加它产生和消费的媒体类型吗?
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/
谢谢你的帮助。
java - 使用 Feign 将 POST 数据作为请求参数包含在内
假设我有一个类似以下的 API,其中PersonDto
是一个简单的 pojo:
当我调用此 API 时,feign 在请求正文中包含 pojo 的所有属性(到目前为止这是标准且良好的),但我在另一端有一个旧版应用程序,它希望将 POST 数据作为请求参数包含在内。我知道我可以做类似的事情:
但如果我有太多参数,它会变得非常丑陋。
我尝试使用拦截器以编程方式添加参数,RequestTemplate.query
但它们最终也都出现在请求正文中。
有什么办法可以在假装中做这样的事情吗?
spring - Feign Client + Eureka POST 请求体
我正在尝试使用 Feign 和 Eureka 将发布请求从服务器 A 转发到服务器 B。两个服务器都被 Eureka 成功发现。
这有效:
但是,当我将第二个参数更改为 @RequestBody 以读取 POST 请求内容时,出现异常:
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 方法。
spring-boot - Feign/Eureka 客户端未传递 X-Forwarded-For 标头
我使用 Spring boot + Eureka + Feign 客户端将请求从一个发现的服务器转发到另一个服务器,它工作正常。
在我的服务器中,我需要获取原始用户的 IP。
我似乎找不到如何配置 Feign 客户端以自动编辑“X-Forwarded-For”标头,以便能够提取原始用户的 IP 地址。
当我使用 getRemoteAddr() 时,我得到了代理 IP 地址(如预期的那样)。当试图提取 request.getHeader("X-Forwarded-For") 我总是得到空值。
我应该在哪里添加/配置此功能?