问题标签 [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 - html http请求中如何支持Feign?
Feign 现在使用 Eureka 做负载均衡,现在我想调用 Eureka 系统之外的调用。比如我想在一个html请求中调用一个url,不使用nginx转发,如何使用Feign来支持负载均衡呢?
java - Feign with Ribbon: 重置
我们正在尝试在我们的一个项目中使用 Feign + Ribbon。在生产代码中,我们没有问题,但在 JUnit 测试中我们有一些问题。
我们正在尝试模拟多种情况(服务失败、正常运行、异常等),因此我们需要在集成测试中多次配置 Ribbon。不幸的是,我们注意到即使我们销毁 Spring 上下文,部分状态可能仍然存在于静态变量中的某个地方(例如:新测试仍然连接到以前套件中的平衡器)。
有什么推荐的方法,如何清除这两个工具的静态状态?(类似Hystrix.reset()
)
提前致谢!
我们尝试在每个套件之后重置 JVM - 它运行良好,但不是很实用(我们必须在 Gradle 和 Idea 中设置它(因为 Idea 测试调谐器不支持开箱即用))。我们还尝试在测试之间重命名服务 - 这可以说是 99%(它有时会由于某种原因失败......)。
microservices - 当使用 feign 客户端调用 rest 调用失败时,不会调用 fallback 方法
我正在尝试通过使用 Feign 客户端来实现回退,但没有成功。它是最简单的代码,请在下面找到。
主班
假装界面
后备类
在休息客户端中出现错误,但不是来自回退方法
“时间戳”:1501950134118,“状态”:500,“错误”:“内部服务器错误”,“异常”:“java.lang.RuntimeException”,“消息”:“com.netflix.client.ClientException:负载均衡器没有没有可用的客户端服务器:client22",
为了获得回退方法消息,我传递了 eureka 服务器中不存在的 client22 eureka id。我在 pom 中有 stater-feign。有人可以调查一下吗。
swagger - 如何使用 swagger codegen 为动态 feign basePath 生成 URI 参数?
我有一个非常简单的问题:)
根据 feign 文档,他们支持通过 api 函数传递 URI 参数来动态更改 feign 客户端对象的 basePath,如下所示:
好的例子:
问题是我正在使用 swagger,它从 yaml 文件生成我的 API 并将 @Param 注释添加到所有函数参数,这对我不利。
不好的例子:
有没有办法让 swagger 生成器生成带有 URI 参数的 API,而不需要 @Param 注释?
期望的结果示例:
java - 使用 Feign 客户端和证书调用 WS
我正在为基本的接缝而苦苦挣扎,但无法理解它。我有一个 spring boot 应用程序,它应该公开一个 rest url。
我这样做是这样的:
正如你所看到的,它消耗了我试图用一个 feign 客户端实现的另一个服务:
界面如下:
当 MdmhClient 确实给我mdmhClient.getEntity()
打电话时的异常时:
我知道要解决这个问题,我需要将证书导入 jre。我正在运行 Intellij IDE 并将我的项目的 jdk 路径设置为:
我还通过firefox访问了webservice:
并下载了我导入的证书:
但我仍然得到错误。出于沮丧,我将证书导入所有已安装的 jdks,仍然相同。
并将其添加到我的 MdmhClient 中,例如:
在此之后,我从被调用的服务中收到了 AccessDenied 响应。
但我 100% 确定我不需要身份验证。因为我可以在不修改标题的情况下将 URL 输入浏览器并获得结果。
我希望你能帮助我或给我一些提示如何解决这个问题。
谢谢
spring-boot - 图像被 Spring 和 Feign Client 损坏
我很抱歉我的英语不好:(
我想用 Feign Client 上传图片文件,但是图片在服务器应用程序上损坏了。
与客户端应用程序和服务器应用程序一起保存的相同图像。但结果如下:
https://i.stack.imgur.com/xbiPS.png
怎么了?请帮我。
oauth - Feign Oauth如何手动设置不记名令牌值?
我正在开发一个 Rest API,MyApi。在那里,我使用 Feign(和 swagger codegen)为另一个 API 生成客户端,我们称之为 Ext-API。
用户之前将调用过 Ext-API 并且除其他外将检索到 JWT 令牌。然后,他将使用 Basic Auth 调用我的 API,并在正文中为我提供 JWT 令牌。
我将使用这个 JWT 令牌作为身份验证标头从我的 API 连接到 Ext-API 并代表用户执行更多操作。
然而,Oauth 和 Feign 示例的所有示例都依赖于 Oauth,也用于使用生成的客户端连接到 API。
我找不到如何在每次请求时更新 Oauth 令牌。假装没有任何东西可以做到这一点。Atm 我正在使用常规的 Rest 模板。
java - 位于 JAR 中的自动装配 Feign 接口
我有一个AttachmentApi
服务类,它使用feign interface
位于JAR
我用作依赖项的文件中的两者client microservice
。
该controller
客户端微服务使用该AttachmentApi
服务从数据库获取数据。
当我访问该控制器的某个端点时,AttachmentApi 服务已成功自动连接,但 feign 接口没有,它给了我以下异常:
null 是由于没有自动装配的 feign 接口!
知道我在 springboot 类中使用了以下注释
任何建议将不胜感激谢谢!
更新 1
Feign 接口(位于 JAR 依赖项中)
}
AttachmentApi(也位于 JAR 依赖项中)
}
注意:我的客户端微服务无法自动装配位于 JAR 依赖项中的任何 bean(既不是 Feign 接口也不是 AttachmentApi 类)!
java - 文件上传spring cloud feign客户端
当使用 spring cloud netflix 的 feign 客户端从一个微服务向另一个微服务发出 post 请求时,我在 Postman 中收到以下错误:
我的 Eclipse 控制台显示以下异常:
com.fasterxml.jackson.databind.JsonMappingException:没有为类 java.io.FileDescriptor 找到序列化程序,也没有发现用于创建 BeanSerializer 的属性(为避免异常,请禁用 SerializationFeature.FAIL_ON_EMPTY_BEANS)(通过参考链:org.springframework.web.multipart。 support.StandardMultipartHttpServletRequest$StandardMultipartFile["inputStream"]->java.io.FileInputStream["fd"]) at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:284) ~[jackson-databind-2.8. 9.jar:2.8.9] 在 com.fasterxml.jackson.databind.SerializerProvider.mappingException(SerializerProvider.java:1110) ~[jackson-databind-2.8.9.jar:2.8.9] 在 com.fasterxml.jackson。 databind.SerializerProvider.reportMappingProblem(SerializerProvider.java:1135) ~[jackson-databind-2.8.9.jar:2.8.9] 在 com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java:69) ~[jackson-databind-2.8.9.jar:2.8.9] 在 com.fasterxml.jackson.databind。 ser.impl.UnknownSerializer.serialize(UnknownSerializer.java:32) ~[jackson-databind-2.8.9.jar:2.8.9] at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:704 ) ~[jackson-databind-2.8.9.jar:2.8.9] at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:689) ~[jackson-databind-2.8.9. jar:2.8.9] 在 com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson-databind-2.8.9.jar:2.8.9] 在 com.fasterxml.jackson。 databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:704) ~[jackson-databind-2.8.9.jar:2.8.9] 在 com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:689) ~[jackson-databind-2.8.9.jar:2.8.9] 在 com.fasterxml.jackson.databind。 ser.BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson-databind-2.8.9.jar:2.8.9] at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:292) ~ [jackson-databind-2.8.9.jar:2.8.9] 在 com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1429) ~[jackson-databind-2.8.9.jar:2.8。 9] 在 com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:951) ~[jackson-databind-2.8.9.jar:2.8.9]jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson-databind-2.8.9.jar:2.8.9] at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java :292) ~[jackson-databind-2.8.9.jar:2.8.9] at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1429) ~[jackson-databind-2.8.9。 jar:2.8.9] 在 com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:951) ~[jackson-databind-2.8.9.jar:2.8.9]jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) ~[jackson-databind-2.8.9.jar:2.8.9] at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java :292) ~[jackson-databind-2.8.9.jar:2.8.9] at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1429) ~[jackson-databind-2.8.9。 jar:2.8.9] 在 com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:951) ~[jackson-databind-2.8.9.jar:2.8.9]序列化(ObjectWriter.java:1429)~[jackson-databind-2.8.9.jar:2.8.9] at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:951)~[jackson-databind-2.8 .9.jar:2.8.9]序列化(ObjectWriter.java:1429)~[jackson-databind-2.8.9.jar:2.8.9] at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:951)~[jackson-databind-2.8 .9.jar:2.8.9]
更新 1
这是我的假装界面:
这是主要的微服务控制器:
我当然在这里缺少某种序列化程序
任何建议将不胜感激!
谢谢