Spring Cloud Feign: Feign не помещает параметр в тело HTTP при отправке запроса POST

Вот мое определение интерфейса Feign:

@RequestMapping(value = "/group/list", method = RequestMethod.POST)
    List<AdvertGroupVO> list(AdvertGroupVO vo,
                             @RequestParam("page") int page,
                             @RequestParam("size") int size);

Хотя это запрос POST, но feign по-прежнему помещает page и size в URL вместо тела запроса:

2016-09-03 17:59:39 [DEBUG] o.a.coyote.http11.InternalNioInputBuffer - Received [POST /group/list?page=1&size=8&groupId=6 HTTP/1.1
Accept: */*
User-Agent: Java/1.8.0_45
Host: 10.236.65.24:8080
Connection: keep-alive

]

я не могу понять почему


person Neo    schedule 03.09.2016    source источник


Ответы (1)


Параметры с аннотацией @RequestParam будут добавлены в строку запроса URL независимо от метода HTTP. В тело запроса будет добавлен только параметр без аннотации, и вы должны будете настроить свой собственный Feign Encoder.

person Neo    schedule 05.09.2016
comment
Не могли бы вы привести пример того, как вы делаете собственный кодировщик. У меня такая же проблема, но я не могу понять, как ее решить. - person koa73; 24.02.2017