URL を使用して、アクションではなくオブジェクトを指定します。
最初に言及したのは RESTful ではないことに注意してください。
/questions/show/<whatever>
代わりに、URL を使用してオブジェクトを指定する必要があります。
/questions/<question>
次に、そのリソースに対して以下の操作のいずれかを実行します。
得る:
リソースの取得、リソースのリストのクエリ、およびリソースの読み取り専用情報のクエリに使用されます。
質問リソースを取得するには:
GET /questions/<question> HTTP/1.1
Host: whateverblahblah.com
すべての質問リソースを一覧表示するには:
GET /questions HTTP/1.1
Host: whateverblahblah.com
役職:
リソースの作成に使用されます。
以下はエラーであることに注意してください。
POST /questions/<new_question> HTTP/1.1
Host: whateverblahblah.com
URL がまだ作成されていない場合は、名前を指定するときに POST を使用して作成しないでください。まだ存在しないため、リソースが見つからないというエラーが発生するはずです。最初にリソースをサーバーに PUT する必要があります。新しい質問を作成すると、/questions リソースも更新され、質問のリストにもう 1 つの質問が返されるようになると主張できます。
POST を使用してリソースを作成するには、次のようにする必要があります。
POST /questions HTTP/1.1
Host: whateverblahblah.com
この場合、リソース名が指定されていないことに注意してください。新しいオブジェクトの URL パスが返されます。
消去:
リソースを削除するために使用されます。
DELETE /questions/<question> HTTP/1.1
Host: whateverblahblah.com
置く:
リソースの URL を指定する際に、リソースを作成または上書きするために使用されます。
新しいリソースの場合:
PUT /questions/<new_question> HTTP/1.1
Host: whateverblahblah.com
既存のリソースを上書きするには:
PUT /questions/<existing_question> HTTP/1.1
Host: whateverblahblah.com
...はい、同じです。PUT は、リソース全体をわずかに変更されたバージョンに置き換えることによって、クライアントが次に取得するときに何を取得するかを編集したため、「編集」メソッドとして説明されることがよくあります。
HTML フォームでの REST の使用:
HTML5 仕様では、フォーム要素のGET と POST が定義されています。
メソッド コンテンツ属性は、次のキーワードと状態を持つ列挙型属性です。
- HTTP GET メソッドを示すキーワード GET。状態 GET にマッピングされます。
- HTTP POST メソッドを示すキーワード POST。状態 POST にマッピングされます。
技術的には、HTTP 仕様はこれらのメソッドだけに限定するものではありません。技術的には必要なメソッドを自由に追加できますが、実際にはこれは良い考えではありません。GET を使用してデータを読み取ることは誰もが知っているので、代わりに READ を使用すると混乱するでしょう。それは言った...
パッチ:
これは、正式な RFC で定義されたメソッドです。リソースの部分的な変更のみを送信する場合に使用するように設計されており、PUT のように使用されます。
PATCH /questions/<new_question> HTTP/1.1
Host: whateverblahblah.com
違いは、PUT はリソース全体を送信する必要があり、実際に変更されたものと比較してどれだけ大きくても、PATCH は変更のみを送信できることです。