方法的身体参数过多

时间:2018-10-01 07:53:30

标签: spring-cloud-netflix netflix netflix-feign feign

我在RestController类中具有以下requestMethod,并且工作正常:

@RequestMapping(path = "/api/v1/rest/websearcher/search/results", method = RequestMethod.POST,
            produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    public ResponseEntity<WebResultResponse> getSavedAvailability(@RequestBody final WebResultRequest navigationRequest, 
    @CookieValue(value = "forceSupplier", defaultValue = "") final String forceSupplier)

我也有一个很好的客户,工作也很好。我在两种方法中都添加了一个名为forceSupplier的新参数,但是添加完之后,我遇到了问题Method has too many Body parameters,但是我真的不明白为什么我收到此消息是因为参数相同。 >

这是Feign中的方法:

@RequestMapping(path = "/api/v1/rest/websearcher/search/results", method = RequestMethod.POST,
        produces = MediaType.APPLICATION_JSON_VALUE + ";charset=UTF-8")
ResponseEntity<WebResultResponse> getAndSavedAvailability(@RequestBody WebResultRequest webSearcherResultRequest, @CookieValue(value = "forceSupplier", defaultValue = "") String forceSupplier);

我在做什么错?谢谢

1 个答案:

答案 0 :(得分:0)

使用Spring Cloud OpenFeign时不支持注释@CookieValue。结果,Feign将您的@RequestBody@CookieValue参数视为请求实体,并且由于您只有一个请求实体,因此Feign会抛出您所看到的异常。

Feign中目前不支持Cookies。