当前位置: 首页 > 知识库问答 >
问题:

Spring Cloud Faign:当发出POST请求时,Faign不会将参数放入HTTP正文中

闽焕
2023-03-14

下面是我的Faigns接口定义:

@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

]

我不明白为什么

共有1个答案

柳镜
2023-03-14

无论采用何种HTTP方法,带有@RequestParam注释的参数都将添加到URL查询字符串中。只有不带注释的参数才会添加到请求正文中,您必须自定义自己的外部编码器。

 类似资料:
  • 问题内容: 我正在尝试发出POST请求以检索有关一本书的信息。这是返回HTTP代码的代码:302,已移动 当我从浏览器尝试时,可以从以下页面进行操作:http : //www.bkstr.com/webapp/wcs/stores/servlet/BuybackMaterialsView?langId=-1&catalogId=10001&storeId=10051&schoolStoreId=1

  • 我试图做一个POST请求,但我不能让它工作: 我基本上想复制这个超文本传输协议请求(不是ajax),就像它是由html表单发起的一样: URL:/api 参数:用户名和密码

  • 问题内容: 我正在尝试访问Java Servlet过滤器中的两个http请求参数,这里没有新内容,但是很惊讶地发现这些参数已经被消耗了!因此,它在过滤器链中不再可用。 似乎只有在参数进入POST请求正文(例如表单提交)时才会发生这种情况。 有没有办法读取参数而不消耗它们? 问题答案: 顺便说一句,解决此问题的另一种方法是不使用筛选器链,而是使用可以在已解析请求主体上运行的方面来构建自己的拦截器组件

  • POST请求发送json数据java HTTPURLConnection 从Android发送JSON HTTP POST请求 Java-通过POST方法轻松发送HTTP参数 应用程序/x-www-form-urlencoded还是多部分/form-data? 如何使用POST向HttpURLConnection添加参数 JSON解析,创建URLConnection-Android Studio

  • 我想在PowerShell中发出POST请求。以下是Postman中的正文详细信息。 如何在PowerShell中传递此消息?

  • 本文向大家介绍PHP中Http协议post请求参数,包括了PHP中Http协议post请求参数的使用技巧和注意事项,需要的朋友参考一下 本文给大家介绍PHP中Http协议post请求参数,具体内容如下所示: WEB开发中信息基本全是在POST与GET请求与响应中进行,GET因其基于URL的直观,易被我们了解,可POST请求因其信息的隐蔽,在安全的同时,也给开发者们模拟发送带来了麻烦。接下来的几篇博