1

私は春のフレームワーク 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;
    }

あらゆる種類の助けをいただければ幸いです。前もって感謝します。

4

1 に答える 1