问题标签 [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 投票
1 回答
434 浏览

spring - 如何在 FeignClient api 类中使用矩阵变量?

我有一个 FeignClient 类,我想使用 MatrixVariable 传递如下参数

但是当我使用上面的代码时它不起作用。Feign Client 无法理解 MatrixVariable。有没有办法打这个电话?

目前,我找到了使用 PathVariable 的临时解决方案,如下所示

如果有人在 Feignclient 中使用 MatrixVariable 提供更好的解决方案,我真的很感激

0 投票
0 回答
162 浏览

spring - Spring Cloud API Gateway 处理大容量

我已经编写了 API 网关,它使用 FeignClients + Eureka 来调用服务端点。

我们的要求是每秒至少支持 100 个请求。我们正在使用 t2.xlarge 服务器并且我们正在使用线程隔离。以下配置在属性文件中。

使用这些配置,我们每秒只能处理 20 个请求,而且也不可靠。因此,如果您能就实现这一目标或更多目标的策略提出建议,请不胜感激。

谢谢,R

0 投票
1 回答
2108 浏览

spring-cloud - 努力让 SpringCloud Feign 与外部服务一起工作

使用 Feign 访问我在 Eureka 上注册的服务是轻而易举的事。我正在尝试使用 Feign 访问外部服务并在基础知识方面苦苦挣扎。

我正在使用 Bluemix 上的服务,但是为了简化手头的问题,我使用了一个简单的服务。

我的代理显示如下:

我尝试了一些变体(参见上面的代码),最后一个在 Feign Client 注释中硬编码 URL 的变体有效。其他人抛出 TimeoutException。

我很困惑,并试图弄清楚事情。在尝试找出 PathVariables 不工作的原因之前,我想让硬编码的方法工作。

我错过了什么?(或在这里做错了)?

0 投票
1 回答
6602 浏览

netflix-feign - http代码为401时使用spring cloud feign,respose.body()为null

使用spring cloud feign调用我的服务,当服务返回401异常时,respose.body()为null。

当我抛出异常时,throw new BadRequestException(400, “this http code is 400”);我可以this http code is 400通过response.body(). 但是当我抛出异常时throw new BadRequestException(401, “this http code is 401”);,它response.body()是空的。这个回应是feign.Response

为什么当 http 代码为 401 时我无法收到此错误消息?

希望您的帮助!非常感谢!

0 投票
5 回答
28525 浏览

java - @EnableFeignClients 和 @FeignClient 在自动装配“FeignContext”NoSuchBeanException 时失败

我正在编写的微服务需要与我们平台中的其他微服务进行通信。在那次尝试中,对我们来说理想的解决方案是Spring Cloud Netflix Feign,实现了@FeignClient.

但是,当我尝试以下操作时,我遇到了以下异常@Autowired ReviewProvider

异常(原因)

ReviewProvider.java

ReviewProvider.java

0 投票
1 回答
1058 浏览

spring - 在没有 Spring Cloud 的情况下使用 RibbonClient 和 Consul 发现 Feign

我试图将 Feign 设置为与 RibbonClient 一起使用,例如MyService api = Feign.builder().client(RibbonClient.create()).target(MyService.class, "https://myAppProd");,其中 myAppProd 是我可以在 Consul 中看到的应用程序。现在,如果我为 Feign 客户端 ( @FeignClient("myAppProd"), @RequestMapping) 使用 Spring 注释,那么一切都可以正常工作,因为 Spring Cloud 模块会处理一切。

如果我想使用Feign.builder()and @RequestLine,我会得到错误: com.netflix.client.ClientException: Load balancer does not have available server for client: myAppProd.

我最初的想法是 Feign 是为与 Eureka 一起工作而构建的,只有 Spring Cloud 与 Consul 集成,但我不确定这一点。

那么,有没有办法让 Feign 在没有 Spring Cloud 的情况下与 Consul 一起工作呢?

提前致谢。

0 投票
0 回答
470 浏览

spring - 如何在@Service 中的@Configuration 处动态设置@Bean?

我在我的应用程序中使用 spring cloud 和 feign 客户端。我想在调用 feign 客户端时将参数“accept-language”设置为标题。我在 [Using @Headers with dynamic values in Feign client + Spring Cloud (Brixton RC2)

问] 1,但我不知道如何设置标头参数。这是我的代码:我在 app.java 中设置了 MyDefaultFeignConfig @EnableFeignClients(basePackages = {defaultConfiguration = MyDefaultFeignConfig.class)

和 MyDefaultFeignConfig.java :

我的网关控制器是:

我的假客户控制器是:

而且我只能在第一次设置@Bean时将“accept-language”的值作为MyDefaultFeignConfig config。如何将“accept-language”的值从Gateway设置为feign client。请帮助我,想想!任何建议都表示感谢和最好的问候!

0 投票
1 回答
3155 浏览

java - Feign Client、Spring Boot Application 和 rx/Observable Class Not Found 错误

一些背景知识:我已经构建了两个设计为微服务的 Spring Boot 应用程序。第一个应用程序(计划提供)是一个 RESTful 服务,它为其他应用程序(计划检查器)提供数据。因此,两种服务之间存在简单的生产者-消费者关系。

在遵循 Spring使用 Eureka 设置微服务发现的教程之后,我有一个可以成功建立的 Eureka 服务注册表,并且计划提供和计划检查器服务成功地在 Eureka 服务注册表中注册了自己(通过检查登录页面的验证尤里卡服务)。

我现在尝试使用 Feign Client 建立微服务通信,即我在调度检查器服务中定义了一个 Feign Client 接口,该接口应该使该服务能够通过 Eureka 端点解析联系调度提供服务,并使用调度中的数据提供服务。但是,在将 Eureka 发现服务和调度提供服务作为 Spring Boot 应用程序启动后,尝试将调度检查器服务作为 Spring Boot 应用程序运行时,我不断收到以下错误:

这是从上到下读取的错误链的根本原因:

据我所知,该错误似乎是由于缺少对RxJava的依赖而导致rx.Observable该类不可用。但是,在向调度检查器服务的 pom.xml 添加RxJava 依赖项并运行mvn clean install后,上面详述的错误仍然存​​在。我不确定如何解决这个问题,因为网上似乎没有任何资源可以特别解决这个问题。我构建的两个微服务中的相关类/文件应该能够实现我所期望的行为(计划检查器服务通过计划供应服务中定义的 REST 端点使用计划供应服务数据):

安排供应服务

主要应用类

调度提供者 REST 控制器

引导程序.yml

计划检查服务

主要应用类

Feign 客户端界面

计划供应消费者

引导程序.yml

pom.xml(仅依赖项)

0 投票
1 回答
1259 浏览

java - spring cloud:feign 无法与 Consul 合作

我正在尝试与 Consul 和 Feign 建立一个 Spring Cloud 项目,但它不起作用。

它总是注意到“com.netflix.client.ClientException:负载平衡器没有可供客户端使用的服务器:设施阅读器”。这是主要的消费者类别

这是我的消费者界面使用 Feign

这是我的消费者服务

这是消费者文件 application.yml

这是我的提供者面课

这是我的提供者服务

这是提供程序文件 application.yml

这是 pom.xml 内容

在这个控制台通知

我的项目有什么问题?

0 投票
3 回答
21508 浏览

spring - SpringBoot FeignClient 方法参数过多

我使用 spring-cloud 的 feignClient 并且当我的界面中有多个 Beans 参数时出现问题,错误显示如下:

这是我的接口方法之一: