「セッション」というリソースがあるとします。クライアントは PUT を呼び出して、新しいセッションを作成して開始します。クライアントがセッションを終了すると、アクセスできなくなりますが、履歴/説明責任の理由から保持する必要があります。
セッションを終了するには、リソースが実際には完全に削除されていないため、目的の効果に意味的に近いと思われる DELETE 要求を発行するか、POST を発行する方が適切でしょうか?
「セッション」というリソースがあるとします。クライアントは PUT を呼び出して、新しいセッションを作成して開始します。クライアントがセッションを終了すると、アクセスできなくなりますが、履歴/説明責任の理由から保持する必要があります。
セッションを終了するには、リソースが実際には完全に削除されていないため、目的の効果に意味的に近いと思われる DELETE 要求を発行するか、POST を発行する方が適切でしょうか?
ここでの質問は次のとおりです。リクエストはべき等ですか? 同じリクエストを 2 回実行すると、副作用はありますか? 記事を注文するときと同様に、注文リクエストを 2 回実行すると、記事が 2 回取得されます。
その場合、POST
あなたが望む方法です。そうでない場合は、 または のいずれかがPUT
必要DELETE
です。
セッションを削除していないように見えるので、その状態を変更するだけPUT
の方が良い方法です。これは、リソースが変更され、削除されていないことを意味するためです。
編集:
リソースがクライアントから削除されているように見える場合は、DELETE
より適切と思われます。物事が背後でどのように実装されているかは、クライアントにとって重要ではありません。
POST リクエストは、実際にsession
. POST リクエストは、オブジェクトの状態を変更するためによく使用されます。それはあなたの場合だと思います。