如果我提交此表格:
<form id="confirmForm" method="POST">
<input type="hidden" name="guid" value="guidval"/>
</form>
到这个网址:
/AltRT?guid=guidval
映射到此控制器方法:
@RequestMapping(method = RequestMethod.POST)
public String indexPost(@RequestParam String guid)
我为我的guid获得了两个值。因此guid
的值为guidval,guidval
。我想只从表单中获取值。
有没有办法告诉Spring忽略查询字符串参数?
编辑以获得更多说明:查询字符串是从另一个(获取)请求中遗留下来的。所以,如果我可以清除可以工作的查询字符串。此外,我不想编辑表单输入的name
,因为我希望此帖子端点可供其他服务使用,而不必更改它们。
答案 0 :(得分:1)
您不能这样做,因为查询字符串将在POST请求的HTTP消息正文中发送,http://www.w3schools.com/tags/ref_httpmethods.asp
我现在有两种方法可以想到
设置表单属性操作
<form id="confirmForm" method="POST" action="AltRT">
<input type="hidden" name="guid" value="guidval" />
</form>
将表单数据转换为JSON对象以将其发送,然后在Spring中使用@RequestBody
将其捕获,如果您必须使用原始URL。