【发布时间】:2017-10-01 15:04:54
【问题描述】:
有什么原因可以解释为什么我在声明这样的 feign 接口方法时出现编译错误(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 这样重要吗?这种情况下,哪些情况下需要注意参数顺序呢? Feign documentation 似乎按照我遇到问题的方式使用它。
顺便说一句:在成功编译之后,在尝试运行应用程序之前,我停止了我的项目几分钟以在此处发布此内容。我不确定上面的第二种方法在运行时是否可以正常工作。它只是通过编译阶段没有错误。
编辑:这并不是真正的编译错误。 springboot应用程序启动过程中出现的错误。
【问题讨论】:
标签: spring-cloud-netflix netflix-feign