Spring Boot / FeignClient: POST Json Body - PullRequest
0 голосов
/ 25 мая 2018

В настоящее время я пытаюсь реализовать вызов POST для бэкэнда, который требует от меня POST json в качестве тела.

Теперь я сталкиваюсь с проблемой, что Feign не передает аннотированное тело в бэкэнд, а только пустойданные.

Как только я добавляю одну @Param или Карту, эти значения передаются и клиент работает нормально.

Чтобы повысить удобочитаемость, я бы предпочел аннотировать метод с помощью Bodyи получить значения из моей конфигурации вместо передачи их в качестве параметра метода.

Следующий пример должен работать в соответствии с документацией Feign:

@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
@Headers("Content-Type: " + MediaType.APPLICATION_JSON_VALUE)
@Body("%7B\n"
  + "  \"user\": \"${logintoken.user}\",\n"
  + "  \"pwd\": \"${logintoken.password}\",\n"
  + "%7D")
String getLoginToken();

1 Ответ

0 голосов
/ 25 мая 2018

Это известная ошибка:

https://github.com/OpenFeign/feign/issues/503

Попробуйте Unirest, если вам нужно тело.Не декларативный, скорее строитель.

...