问题标签 [spring-cloud-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 投票
0 回答
246 浏览

spring-boot - 如何在运行时更改spring-boot-feign地址

我在我的应用程序中使用以下接口定义:

如何在运行时更改 url 值?

0 投票
1 回答
1841 浏览

spring-boot - Spring FeignClient 获取 NullPointer

我正在创建一个假客户。我在客户端上收到空指针异常。为了将这个问题与我当前的项目隔离开来,我创建了一个控制台应用程序项目,它带有一个访问像 Github 这样的公共 api 的 feign 客户端。我仍然遇到同样的问题。谁能给我举个例子(最好使用maven而不是gradle)?

0 投票
8 回答
45432 浏览

spring-cloud - 如何在运行时更改 feign URL?

@FeignClient(name = "test", url="http://xxxx")

如何在运行时更改 feign URL (url="http://xxxx")?因为 URL 只能在运行时确定。

0 投票
3 回答
810 浏览

netflix-feign - 启用 Sleuth 会减慢请求(很多)

我将 Spring Cloud Feign 和 Sleuth 与 Zipkin 服务器一起使用。我的问题是,当我启用 Sleuth 时,任何简单的请求至少需要 600 毫秒。请注意,出于测试目的,我将 Sleuth 的采样器百分比设置为 1。

我可以做些什么来改善吗?

这里有一些请求的日志,没有 Sleuth 需要 25 毫秒,使用 Sleuth 需要 700 毫秒。(用户调用 /teams 调用 /cities):

0 投票
3 回答
5495 浏览

spring-boot - 根据环境定义不同的 Feign 客户端实现

我有一个 Spring Boot 应用程序,它使用 Feign 通过 Eureka 调用外部 Web 服务。我希望能够使用 Feign 接口的模拟实现来运行应用程序,这样我就可以在本地运行应用程序,而不必运行 Eureka 或外部 Web 服务。我曾设想定义一个允许我执行此操作的运行配置,但我正在努力让它发挥作用。问题是无论我尝试什么,Spring 的“魔法”都在为 Feign 接口定义一个 bean。

假装界面

服务

我尝试添加一个配置类,如果 Spring 配置文件是“本地”,则有条件地注册一个 bean,但是当我使用该 Spring 配置文件运行应用程序时从未调用过它:

在我的服务运行时,FooResource成员变量 inMyService是类型

HardCodedTarget(type=FoorResource, url= http://foo-service )

根据 IntelliJ。这是由 Spring Cloud Netflix 框架自动生成的类型,因此会尝试与远程服务进行实际通信。

有没有一种方法可以根据配置设置有条件地覆盖 Feign 接口的实现?

0 投票
0 回答
758 浏览

rx-java - RxJava:为什么我不能在使用 TestScheduler 时测试重试?

我有以下测试,它使用 WireMock 来存根 HTTP 服务,该服务失败了两次,然后又成功了。我正在使用retryWhen指数退避,因此第一次重试(第二次调用)将在第一次之后 2 秒,第二次重试(第三次和成功调用)将在第二次调用后 4 秒发生。我尝试使用提前时钟,TestScheduler.advanceTimeBy但在验证onNext事件时测试失败(错误:) Expected size:<1> but was:<0>。如果我替换TestSchedulerSchedulers.computation(),一切正常。我究竟做错了什么?

0 投票
1 回答
2390 浏览

spring-cloud - @FeignClient 名称参数(服务 id),末尾带有相对 url

我最近开始在我的 Spring Boot 项目中使用 Feign。当我的 feign 客户端使用 eureka 和 Ribbon 的服务发现和负载平衡(目标服务分布在集群中的多个节点上)时,我有一个关于场景的问题。我想要一个像这样的伪装客户端界面:

有没有办法将名称参数(targetServiceId)的值与“/common-url-part”“混合”以避免在我的界面中为每个方法替换注释中的相同 url 部分?

0 投票
1 回答
655 浏览

spring - 假装改变弹簧自动装配的优先级

我有一个叫 WordDao 的接口,一个叫 WordDaoImpl 的抽象类 impl。一些 impl 类扩展了该抽象类。

当我注入它们时,我使用相同的变量名。

前任:

在我添加假装之前一切正常。我的 feign 客户端是一个扩展 WordDao 的接口。

像这样:

现在我所有的@Autowired 类都是注入 feign 客户端。 自动连线结果

我试图从我的 feign 客户端中删除“扩展 WordDao”,它再次运行良好,但我不知道为什么。

我的问题是:feign 在注入时是否具有最高优先级?spring @autowired 不是按名称选择 impl 类吗(尝试匹配变量和类/组件名称)?

0 投票
0 回答
1498 浏览

spring - Spring @FeignClient , OAuth2 和 @Scheduled 不起作用

添加了 OAuth2FeignRequestInterceptor 来处理 OAuth2 @FeignClient 请求,我现在看到以下异常:

如果没有 OAuth2,一切正常,将 OAuth2 添加到服务器,并且如预期的那样,对方法的访问受到限制。

任何帮助将不胜感激 - 将使用 RestTemplate 而不是 @FeignClient 但我不确定我的@Scheduled 工作是否会遇到同样的问题?

@FeignClient

FeignClient配置

新员工创建更新调度器

谢谢你的帮助!

尝试使用 RestTemplate 时遇到同样的错误...

0 投票
3 回答
22628 浏览

spring - 使用 Spring Boot 的 Feign 客户端:RequestParam.value() 在参数 0 上为空

我用 Spring Boot 创建了一个简单的 Feign 客户端,如下所示:

但是当我尝试启动一个应用程序时,我得到一个错误:

首先,我不明白是什么原因,并用谷歌搜索了很多,但没有找到答案。几乎令人惊讶的是,我发现如果显式编写请求参数名称,它会起作用:

所以我的问题是:它是一个错误还是可以配置为不明确写入请求参数名称?