- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有什么原因可以解释为什么我在声明这样的伪接口(interface)方法时会出现编译错误(Body parameters cannot be used with form parameters
):
1) foo(@PathVariable("pathVariableName") String pathVariable,
@RequestBody List<String> anyVariable)
但是当我使用它时一切正常(切换参数顺序):
2) foo(@RequestBody List<String> anyVariable,
@PathVariable("pathVariableName") String pathVariable)
在当前项目中,所有其他 feign 方法在前一种形式下都可以正常工作。我不知道这个信息是否重要,但这是唯一一个我尝试使用用 @RequestBody
参数注释的列表。
参数的顺序在这里很重要吗 answer ?那么,在哪些情况下需要注意参数顺序呢?假装 documentation似乎按照我遇到问题的方式使用它。
顺便说一下:我停止了我的项目几分钟,以便在此处发布这个,在尝试运行应用程序之前,就在成功编译之后。我不太确定上面的第二种方法在运行时是否正常。它刚刚通过了编译阶段,没有出现错误。
编辑:这不是真正的编译错误。该错误发生在springboot应用启动过程中。
最佳答案
您需要检查您的网址模板字符串。如果 url 中不包含 {pathVariableName}
,则 @PathVariable("pathVariableName")
将被视为表单参数。在 feign 中,表单参数不能与主体参数 (@RequestBody
) 在同一方法中使用。这就是 1) 抛出异常的原因。
在第二种情况下,当验证@RequestBody
注解时,feign 并不知道第二个参数的存在,这个参数将被当作表单参数。所以它现在不会抛出任何异常。我不确定这是不是故意的行为,但可能是验证错误。
关于spring-cloud-netflix - Springcloud Netflix Feign参数顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43765860/
有什么区别: spring-cloud-starter-openfeign ( https://github.com/spring-cloud/spring-cloud-openfeign ) 和 s
我们正在使用netflix feign来调用 Restful Web服务。对于补丁请求,看来不支持PATCH请求。 Caused by: feign.RetryableException: Inval
据我了解,当请求响应状态码!= 2xx 时,将调用 feign ErrorDecoder 的 decode() 方法。通过调试我的测试,我发现我的 CustomErrorDecoder 的 decod
我有一个像这样构建的假客户端服务: Feign.Builder builder = Feign.builder() .contract(new SpringMvcContract())
使用spring cloud feign调用我的服务,当服务返回401异常时,respose.body()一片空白。 当我抛出异常时 throw new BadRequestException(400
我使用 ErrorDecoder 返回正确的异常而不是 500 状态代码。 有没有办法在解码器中检索原始消息。我可以看到它在 FeignException 中,但不在 decode 方法中。我所拥有的
通过学习曲线,遇到了这个场景: 鉴于90%的调用都是JSON,在构建客户端时添加了GSON解码器。不过接口(interface)中有些方法调用应该是支持raw return without decod
我正在尝试使用以下 Feign 客户端在 Spring Boot 应用程序中检索在线图像内容。 @FeignClient(name = "image") public interface ImageC
我正在使用需要设置几个字段的 REST api。我的应用程序应始终将某些字段设置为相同的值。是否可以在带有 feign 定义(或其他地方)的界面中使这些值“硬编码”? 我的假声明看起来像这个例子。假设
我是新来的 Spring 和假装和探索几天以来。我能够向我们的 protected 资源(用户名/密码)发出身份验证请求,并在后续请求 header 中使用身份验证服务返回的 JWT token 。但
我尝试在我的 Spring Boot 应用程序上配置 OpenFeign,我使用 pokeapi 进行测试。 我编写了这段代码: @FeignClient(value = "pokeapi", url
快速浏览了Feign的源码,发现Feign使用的是JDK的HttpUrlConnection在不使用连接池的情况下发出 HTTP 请求并在请求完成时关闭它。我怀疑这种方式的效率。然后我看了Spring
我为 feignClients 启用了我的 spring 云,如下所示: @Configuration @EnableAutoConfiguration @RestController @Enable
当我发帖时 Map使用 Feign Client,我收到错误消息: feign.FeignException: status 400 reading MAp . 代码 //Client side @C
目录 使用HttpClient和OkHttp 使用HttpClient 使用OkHttp OpenFeign替换为OkHtt
需求 最近小编的项目中出现了很多feign 调用出现 Read Time out 的异常,但因为没有集成链路追踪的第三方框架,查不到原因。 所以想到打印请求的ip地址,判断是指定的服务器出现的问
我正在使用 spring feign 压缩请求和响应 服务器端: server: servlet: context-path: /api/v1/ compression: en
我面临以下情况,令我惊讶的是,我找不到太多文档:有一项服务仅通过一一获取项目详细信息来提供休息调用。总共有 1000 多个项目。 出于响应能力的原因,我想将这些数据保留在我的一端,而不是懒惰地获取它。
我正在尝试实现一个涉及 FeignClient 调用的单元测试,该调用应返回 404 Not Found。 由于 Feign 抛出了 404 异常,那么实现此测试用例的正确方法是什么? 我正在尝试这样
当使用spring-cloud-feign连接到本地主机时,Feign找不到url,而是给我以下错误消息。 2019-11-13 12:01:55.553 ERROR 23798 --- [n
我是一名优秀的程序员,十分优秀!