7

簡単な質問:リソースでHTTP POST / PUTメソッドを介してデータ(コンテンツ)を送信していない場合はどうなりますか?それでもRESTfulですか?

明らかに、問題は、データなしでPUTを使用したい場合です。パスワードをリセットしたいユーザーを想像してみてください(この古いトピックのように)。

どう思いますか?POST / PUTメソッドでコンテンツを送信しなくても大丈夫ですか?個人的には問題ありませんが、他の人が何を言うのか気になります。

4

2 に答える 2

5

はい、これは完全に受け入れられます。データなしで実行された場合の各アクション(コレクションへのPOST、リソースへのPUT)は、新しい「空の」リソースを作成する必要があります。ここでの「空」の定義は、何が表現されているかによって異なります。

ただし、ユーザーのパスワードをリセットする特定のケースでは、上記のモデルが当てはまるとは言えません。本当にパスワードリソースがある場合、データのないPUTは、パスワードをリセットするのではなく、空に設定することを提案しているように見えます。このシナリオでは、その質問から受け入れられた回答を使用します。

于 2012-10-17T21:29:26.717 に答える
3

RESTfulにするために、POSTまたはPUTのデータは必要ありません。べき等ではない(要求がリソースを変更または作成することを意味する)場合は、GETを使用しないでください(渡すデータがあるかどうかに関係なく)。たとえば、リクエストの時刻とリソースのURLヒットを、リソースを作成または変更するために必要なすべてのものと見なすRESTful Webサービスがあるとします。リクエストデータは必要ありません!

于 2012-10-17T21:28:04.487 に答える