问题标签 [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 回答
3312 浏览

spring-boot - spring boot - 假装客户端发送基本授权标头| 将 jwt 令牌从一个微服务传递到另一个微服务

我正在使用 spring boot 创建一个基于微服务的项目。我使用 eureka 服务器进行服务发现和注册,还使用 ​​JWT 进行身份验证以进行授权和身份验证。每个微服务都有 jwt 验证,并且在控制器上实现了全局方法安全性,我正在使用 feign 客户端进行微服务间调用。

服务 - 1) 主请求服务 2) 审批服务;

审批者服务正在调用主服务以调用只能由 ADMIN 访问的方法,但是当在主请求服务端处理 jwt 验证时..我只能在标头中看到基本授权标头。

我正在从我的审批者服务 Feign 客户端在审批者服务中传递 JWT 令牌

从请求中读取标头的代码

在调试此过滤器时,我在主请求服务中调试时在控制台标头上打印了令牌

那么可以获得有关如何将我的 JWT 令牌从一个微服务传递到另一个微服务的帮助?

0 投票
3 回答
5716 浏览

java - 是否可以在 Feign 客户端上使用 Spring @Cache*?

我有一个从微服务请求令牌的 Feign 客户端。由于我正在进行多次调用,我想缓存从 Feign 客户端收到的响应并使用 Spring Guava 缓存,但它似乎不起作用。我所拥有的只是 Feign 客户端上的配置类和注解。

我在堆栈溢出的某个地方读到 Feign 可能不支持 @Cacheable 注释。这是真的?

0 投票
1 回答
408 浏览

spring-boot - 使用带有 Feign jaxrs @Path 的 Spring 属性占位符

我正在尝试使用 jaxrs 合同解决 Feign 接口上的 Spring 占位符:

但是发现只有server.url通过SpringBoot的占位符填充机制才能解决。${server.querypath}未解析并GET作为文字值给出。

有人这样做吗?我应该打开功能请求吗?感谢您的回答。

0 投票
0 回答
1846 浏览

java - 在现有 FeignClient 界面中使用自定义客户端,具有相同的目标 URL

我有一个带有注释的现有界面@FeignClient

它有一堆可以正常工作的方法。

现在,我需要添加一个不适合简单@FeignClient 的方法。而且我不希望我的其余代码知道这一点,并且不得不使用 FeignRemoteService 以外的另一个类来解决这个用例,所以我想让它适合现有的 FeignRemoteService 以便它对使用的类是透明的它。

用例是每次调用该方法时我都需要传递不同的凭据。为此,我创建了一个默认界面,在其中放置了我的自定义代码:

和客户端的接口:

它有效,但我对解决方案不满意,因为它非常丑陋......我还没有找到一种很好的方法将myRemoteService.url注入到我构建的自定义 Feign 客户端中,而不是在离我的代码更近的地方GlobalProperties 类中的静态变量。

有没有更好的方法来做到这一点,以便myRemoteService.url可以注入两次:

  • @FeignClient- 这里没有问题。
  • 在自定义 Feign 客户端中,内置在默认方法中。

如果有完全不同的方法,我也持开放态度,只要一切都在同一个服务中,这样消费者就会隐藏差异。

0 投票
1 回答
3642 浏览

spring-boot - 如何使用 Feign Client 上传 multipart 文件?

我必须打电话将文件上传到以下服务:-

截至目前,我正在使用 RestTemplate 调用此服务,但现在我需要将 RestTemplate 调用转换为 Feign Client。

我正在尝试使用 feign 完成多部分文件上传,但我似乎无法在任何地方找到一个很好的例子。

0 投票
1 回答
1986 浏览

java - 如何阻止 feign 引用和转义字符串数据

我有一个代理,它位于使用 json 对象进行通信的客户端和服务器之间。代理需要将数据作为字符串处理。它不知道它只需要扫描数据以查找字符串的类型。问题是当我将数据从代理转发到服务器时,字符串被引用并且字符串中的引号被转义。我需要按原样发送字符串。

字符串是

但在帖子的正文中

无论内容类型设置为什么,都会发生这种情况。

无论如何我可以使用 feign 发布一个字符串而不会被 qouted 吗?

0 投票
3 回答
9602 浏览

spring-cloud - 如何在 Spring Cloud 中禁用功能区并仅使用 FeignClient

我知道我们可以通过提供 url Ex 来强制 FeignClient 使用 OkHttp 而不是 Ribbon。@FeignClient(url="serviceId", name="serviceId")

即使只提供了名称,我也希望使用 OkHttpClient。前任。@FeignClient(name="serviceId")

根据 spring cloud 文档“如果启用了 Ribbon,它是一个 LoadBalancerFeignClient,否则使用默认的 feign 客户端。”

如何禁用功能区以便使用默认的 feign 客户端。

0 投票
1 回答
10802 浏览

java - spring 如何在@feignclient 配置中设置自定义最大连接池大小

如何@feignclient在 spring 配置中设置自定义最大连接池大小,

0 投票
2 回答
15433 浏览

java - netflix.feign 和 openfeign 的区别

介绍

我最近使用了 netflix feign 以及非常有用的功能区。

一个例子是:

但是,在某些时候,我认为不必手动编写所有这些定义(对于现有的 web 服务),我应该看看是否存在工具。

我偶然发现了https://github.com/swagger-api/swagger-codegen一些生成客户端的示例,例如https://github.com/swagger-api/swagger-codegen/tree/master/samples/client/petstore/java/feign

但是,当我仔细查看进口商品时,我注意到以下内容:

import feign.Feign;

另一方面,Netflix 的开源解决方案具有包名称: org.springframework.cloud.netflix.feign.

此外,我注意到两者都使用功能区(如果可用),但 Netflix 的符号更清晰,在后台发生了很多事情。例如@FeignClient注释类 javadoc 状态:

  • 接口的注释声明应该创建具有该接口的 REST 客户端(例如,用于自动装配到另一个组件中)。如果功能区可用,它将用于 * 用于负载平衡后端请求,并且负载平衡器可以配置 * 使用@RibbonClient与 feign 客户端相同的名称(即值)。

但是在Feign.feign文档中(在https://github.com/OpenFeign/feign)我看到:

RibbonClient 覆盖了 Feign 客户端的 URL 解析,增加了 Ribbon 提供的智能路由和弹性能力。

集成要求您将功能区客户端名称作为 url 的主机部分传递,例如 myAppProd。

所以我的问题是:

  1. 两者的历史/关系和区别是什么?
  2. 各自的优缺点是什么?

他们是完全不同的项目,没有关系,还是 netflix 只是分叉/利用 OpenFeign 并将其修改为在他们的集成云解决方案中?本质上,Netflix 是否只是从开源项目中获取并整合了 Discovery、ribbon 和 feign 等不同的技术?

0 投票
1 回答
8266 浏览

spring - 使用 Swagger 生成 Netflix Feign 代码

我找到了项目https://github.com/swagger-api/swagger-codegen

但是,这会生成一个基于 OpenFeign 的客户端。

有没有办法自动生成使用 Netflix 的 feign 注释和请求映射的客户端接口?

例子:

与以下课程相反:

https://github.com/swagger-api/swagger-codegen/blob/master/samples/client/petstore/java/feign/src/main/java/io/swagger/client/ApiClient.java

谢谢