我可以告诉spring忽略查询参数吗?

时间:2015-05-22 17:38:59

标签: java spring spring-4

如果我提交此表格:

<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,因为我希望此帖子端点可供其他服务使用,而不必更改它们。

1 个答案:

答案 0 :(得分:1)

您不能这样做,因为查询字符串将在POST请求的HTTP消息正文中发送,http://www.w3schools.com/tags/ref_httpmethods.asp

我现在有两种方法可以想到

  1. 设置表单属性操作

    <form id="confirmForm" method="POST" action="AltRT">
        <input type="hidden" name="guid" value="guidval" />
    </form>
    
  2. 将表单数据转换为JSON对象以将其发送,然后在Spring中使用@RequestBody将其捕获,如果您必须使用原始URL。