4

Spring MVC Web アプリを作成しました。

アプリはコントローラーに対していくつかの呼び出しを行います。これらのコールは、クローズ/オープン/エンド ゲームです。

これらの呼び出しは Ajax を使用して行うため、ページの上部で応答を処理できます。

ajaxPost = function (url, action, id, onSuccess, onError) {
    $.ajax({
        type: "POST",
        url: url + "?" + action + "=" + id,     
        success: function(response) {
            if(onSuccess !== null) {
                onSuccess(response);
            }
        },                                      
        error: function(e) {
            if(onError !== null) {
                onError(e);
            }                           
       }                
    });
};

私が持っている質問は、Ajax リクエストに「POST」を使用していることです。それは正しいですか、それとも「PUT」にする必要がありますか?

コントローラーにはデフォルトの URL があり、param 属性を使用して呼び出すメソッドを決定しています。これは、ページに多くのボタンがあるためです。

@RequestMapping(params = "open", method = RequestMethod.POST)

@RequestMapping(params = "close", method = RequestMethod.POST)

これらの呼び出しに「POST」を使用しているのは、私にはうまくいきません。多分それは「PUT」であるべきです...

助言がありますか?それは問題ですか?

4

3 に答える 3

8

PUT と POST はどちらも新しいレコードを作成できます。PUT は、既存のレコードを更新/変更することもできます。

POST と PUT の違いは、サーバーがレコードの作成 (または更新) 時に使用する ID を認識できるように、PUT はその ID でレコードをアドレス指定することが期待されているのに対し、POST はサーバーがレコードの ID を生成し、レコードが作成された後、それをクライアントに返します。

したがって、POST はコレクションとしてリソースにアドレス指定されます:POST /resourceに対して、PUT はコレクション内の単一のアイテムにアドレス指定されます。PUT /resource/1

于 2013-06-13T10:49:44.977 に答える
1

POST を使用します。ホスティング システムで PUT が適切にサポートされていることを完全に確信している場合を除き、常に POST を使用してください。

于 2013-06-13T10:49:29.037 に答える