我正在开发一个应用程序,我在其中使用 spring 框架 3.1.1 和 rest api。在其中,我开发了一个休息控制器,它将在接收到 url“/rest/host/{id}”的“GET”请求时将控件重定向到我的视图(表单)。现在,在用户填写表单后,发布的数据也使用 rest 处理。但是在我为处理发布请求而编写的方法中,我在一个字符串中获取了所有参数,我想解析并插入到数据库中。谁能说出解析这个春季数据的正确方法?我可以使用 String.split("&") 来做到这一点,但我认为这不是正确的方法。这是我的代码。
<form:form method="POST" action="/nagios-sms-1.0/rest/snooze/host/" commandName="snoozeBean">
<table width="100%" border="5" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
<table width="50%" border="5">
<tr>
<td colspan="3"></td>
</tr>
<tr>
<td width="30%"><form:label path="contactNumber">Enter host address</form:label></td>
<td width="30%"><form:input path="contactNumber" /></td>
<td />
</tr>
<tr>
<td width="30%"><form:label path="snoozeTimeoutValue">Enter Snooze time</form:label></td>
<td width="30%"><form:input path="snoozeTimeoutValue" /></td>
<td />
</tr>
<tr>
<td colspan="3">
<div id="buttons"
style="margin-left: 20Px; margin-right: 100px;">
<input type="submit" value="ok" /> <input type="reset" />
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
休息代码..
1) GET 处理方法
@RequestMapping(value = "/host/{hostId}", method = RequestMethod.GET)
public String snoozeHost(@PathVariable int hostId, ModelMap map) {
Snooze snooze = new Snooze();
snooze.setHost_id(hostId);
map.put("snoozeBean", snooze);
return "host";
}
2) POST 处理方法
@RequestMapping(value = "/host", method = RequestMethod.POST)
@ResponseBody
public String snoozeHostOK(@RequestBody String payload) {
// i want to parse this payload data which contains my form fields.
System.out.println("data : " + payload);
return payload;
}
任何形式的帮助将不胜感激。提前致谢。