【问题标题】:Spring Cloud Feign: Feign doesn't put parameter into HTTP body when issuing POST requestSpring Cloud Feign:发出POST请求时Feign没有将参数放入HTTP正文中
【发布时间】:2017-01-11 08:29:56
【问题描述】:

这是我的 Feign 接口定义:

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

虽然这是一个POST请求,但是feign还是把pagesize放到了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

]

我不知道为什么

【问题讨论】:

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


    【解决方案1】:

    使用@RequestParam 注释的参数将被添加到 URL 查询字符串中,无论 HTTP 方法如何。请求正文中只会添加不带注释的参数,您必须自定义自己的 Feign Encoder。

    【讨论】:

    • 您能举例说明如何制作自定义编码器。我有同样的问题,但不明白如何解决。
    猜你喜欢
    • 2017-07-14
    • 1970-01-01
    • 2023-04-06
    • 2018-10-15
    • 1970-01-01
    • 2016-05-17
    • 2020-05-12
    • 2017-06-04
    • 2015-08-24
    相关资源
    最近更新 更多