问题标签 [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.
java - 我可以告诉 gradle 两个不同的依赖模块实际上是相同的,并让它选择版本最高的那个吗?
我有一个依赖于 Netflix Feign 和 Glassfish Jersey 实现的项目。
Feign 使用 JAX-RS (JSR 311) 的 1.1 规范,glassfish jersey 实现使用 2.0 规范。2.0 是向后兼容的,但Gradle 依赖名称已更改。
因此,我的项目中有两个依赖项:
- javax.ws.rs:jsr311-api:1.1.1
- javax.ws.rs:javax-ws-rs-api:2.0.1
两者都在相同的包中实现相同的类,但一个根据 1.x,一个根据 2.x
在我的 Java 代码中,我只能指出类名和包。
我可以告诉 Gradle 这实际上是同一个包,尽管名称不同,并且只能在类路径中获得一组实现类吗?
现在,JVM 和编译器选择哪个版本的类是随机的。有时它不编译,有时它编译但不运行(MethodNotFoundException)。
spring-cloud - 如何让自定义的ErrorDecoder和@ExceptionHandler在spring cloud中协同工作
我有一个名为“hr”的spring云服务,以及一个使用Feign作为客户端调用hr服务的api网关服务。如果 hr 服务发生任何异常,它会返回一个类型为 .json 的 json 消息ResponseEntity<ServiceException>
。ServiceException
就像:
在 api 网关服务中,我自定义了feign.codec.ErrorDecoder
类似的内容:
获取 ServiceException 可以正常工作,并且我可以得到如下错误消息:
我想更改错误消息的格式,至少添加类的errorCode
字段ServiceException
,所以我添加了一个@ControllerAdvice
注释类来尝试处理异常。但不幸的是,它不起作用。我可能是因为控制器没有通过某些过滤器抛出异常,所以@ControllerAdvice
注释不起作用。
有人可以给我一些关于案例的建议吗?
java - 将 feign 目标绑定到 guice
有没有办法将假目标绑定到guice?我的用例如下:
- 我有一个服务,它可以在同一个 JVM 中启动,也可以作为单独的服务启动。
- 如果服务是在同一个 JVM 中启动的,那么我将使用 Guice 绑定它。
- 如果服务是在 jvm 之外启动的,我想使用 fiegn 绑定服务并让 guice 注入相同的内容。
rest - 无法让 Feign Client 为基本示例工作
无法让 Feign Client 工作。首先尝试使用 POST。不断遇到与编码器/解码器相关的错误,说类型不正确。然后在github上找到了一个调用简单GET API的例子,决定试一试。仍然失败
在 Github 和在线上,我看到多个版本的 Feign Client Spring-Cloud、OpenFeign、Netflix.feign 有不同的版本。谁能描述一个应该用于生产的最好和稳定的 Feign 客户端是什么?
应用:
尝试了所有可能的注释排列,认为它可以解决 AutoWire 的问题,但仍然失败
2016-07-20 18:15:42.406[0;39m [31mERROR[0;39m [35m32749[0;39m [2m---[0;39m [2m[主][0;39m [36mo.s.boot .SpringApplication [0;39m [2m:[0;39m 应用程序启动失败
org.springframework.beans.factory.BeanCreationException:创建名为“testWLCController”的bean时出错:注入自动装配的依赖项失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法自动装配字段:私有 com.paa.controllers.GetFeignClient com.paa.controllers.TestWLCController.gfClient;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名称为“com.aa..controllers.GetFeignClient”的 bean 时出错:FactoryBean 在创建对象时抛出异常;嵌套异常是 java.lang.NullPointerException at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] at组织。run(SpringApplication.java:1180) [spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE] at com.paa.ServiceApplication.main(ServiceApplication.java:44) [bin/:na] 由:org.springframework.beans.factory.BeanCreationException:无法自动装配字段:私有com.paa.controllers.GetFeignClient com.paa.controllers.TestWLCController.gfClient;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名称为“com.paa.controllers.GetFeignClient”的 bean 时出错:FactoryBean 在创建对象时抛出异常;嵌套异常是 java.lang.NullPointerException 在 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE ] 在 org.springframework.beans。
spring-security-oauth2 - 特定 FeignClient 的 RequestIntercepor
我有一个 RequestInterceptor,我在其中自动将 OAuth2ClientContext 中的 AccessToken 复制到 RequestTemplate 的标头中,以便内部服务使用来自启动场景的移动设备的相同 AccessToken 无缝地相互调用。这就是我们管理服务方法授权的方式。这是拦截器代码:
这是@Beans 配置:
问题是有不同的 FeignClients,其中一部分用于 3rd 方服务,例如我们用于 SMS 文本的服务,我不想在那里发送 AccessToken。
我如何在 RequestInterceptor 内部确定它来自什么 FeignClient?
spring-cloud - 查询值包含 `{aa%` 导致 feign 返回 http 状态码 400
我在 spring-cloud 中使用 feign,我遇到了问题。
这是我的假客户定义。
此调用将返回状态码 400 。
然后我查看了代码,我在 RequestTemplate 类中找到了这段代码:
encodeIfNotVariable
在 query(String name, String... values) 中调用的方法。
这意味着如果值包含{
and 在 first 中,则该值不能被编码。
我怎样才能解决这个问题?
java - 不支持 Netflix Feign 内容类型 'application/json;charset=UTF-8'
我正在使用Netflix Feign 制作我的 java http 客户端,使用这样的客户端:
我收到一个奇怪的错误
消息说“内容类型'应用程序/json;charset = UTF-8'不支持”但我使用的MediaType.APPLICATION_JSON_UTF8_VALUE
是Spring,其值为
应用程序/json;charset=UTF-8
有谁知道发生了什么?
java - 获取标题 feign netflix
我正在使用netflix feign来传达微服务。
因此,我的微服务 A 有一个操作“OperationA”,由微服务 B 使用,它通过名为 X-Total 的标头将一个参数传递给 B
我的客户端界面如下:
然后我得到了 dto 的列表,但我不知道如何获取标题 X-TOTAL 参数:
如何获取标题参数?
netflix-feign - Feign 是线程安全的吗……?
Feign线程的实例是否安全......?我找不到任何支持这一点的文档。外面有人不这么认为吗?
这是在 github repo 上发布的 Feign 的标准示例...
我应该将其更改为以下...是否线程安全...?
对于上面的示例...我使用基于弹簧的组件来突出显示单例。提前致谢...
spring-cloud-netflix - spring-cloud - 仅带有 Ribbon 的 Hystrix 流
在spring-boot-starter-actuator
使用 Ribbon/Feign 客户端的 Web 应用程序中,不启用 hystrix 流/端点。
HystrixCircuitBreakerConfiguration.HystrixWebConfiguration
即使条件为真,也不会激活。
如何为 Feign/Ribbon 启用 hystrix 流?
环境:Spring Boot 1.3.5.RELEASE,Spring Cloud Brixton.SR4