私は春のフレームワーク 3.1.1 と残りの API を使用しているアプリケーションを開発しています。その中で、URL「/rest/host/{id}」の「GET」リクエストを受信すると、コントロールをビュー(フォーム)にリダイレクトする1つのレストコントローラーを開発しました。ユーザーがフォームに入力した後、投稿されたデータも残りを使用して処理されます。しかし、ポストリクエストを処理するために私が書いたメソッドでは、すべてのパラメータを解析してデータベースに挿入したい1つの文字列にしています。この春のデータを解析する適切な方法は誰ですか? 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>
REST コード..
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;
}
あらゆる種類の助けをいただければ幸いです。前もって感謝します。