У метода слишком много параметров Body

У меня есть следующий requestMethod в классе RestController, и он работает нормально:

@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);

Что я делаю не так? Спасибо


person hector s.    schedule 01.10.2018    source источник


Ответы (1)


Аннотация @CookieValue не поддерживается при использовании Spring Cloud OpenFeign. В результате Feign видит ваши параметры @RequestBody и @CookieValue в качестве объектов запроса, и, поскольку у вас есть только один объект запроса, Feign создает исключение, которое вы видите.

В настоящее время в Feign нет поддержки файлов cookie.

person Kevin Davis    schedule 15.12.2018