2016-12-10 3 views
0

このようなアプリケーションを作成したい - クライアント(ユーザーIDで識別される)がサーバーにREST API呼び出しを送信する。サーバーはデータベースに照会して、このユーザーが前にバッジを持っているかどうかを確認します。それがあれば何もしません。それ以外の場合は、ユーザーにバッジが付与されたことをデータベースに記録し、ユーザーに電子メールを送信します。ここ操作が等しそうに見える場合はPUTまたはPOST

PUT /ユーザー//バッジ/ POST /ユーザー//バッジ/

私の質問は、どのHTTPメソッド、私はここに使うべきでしょうか? PUTまたはPOST?

電子メールは最初の要求でのみ送信され、後続の要求はdbに問い合わせる以外は何もしません。

どのようなhttpの本はこの場合に使用することをお勧めしますか?

+0

更新がないため、PUTで​​す。 – EJP

答えて

0

それは冪等ならRFC 7231, section 4.3.4からから明らかなように、それは通常、PUTで​​あるべきである。

POST及びPUT方法の基本的な違いは、囲まれた表現のための別の意図によって強調 あります。 POST要求内のターゲットリソースは、リソースの独自のセマンティクス に従って囲まれた表現を処理することを目的としていますが、PUT要求内の囲まれた表現は、ターゲットリソースの状態を置き換えるものとして と定義されています。したがって、PUT の目的は、義務であり、正確な エフェクトがオリジンサーバーにのみ知られているにもかかわらず、仲介者に見えます。

関連する問題