HTTPプロトコルのPUT、POST、PATCHメソッドの違いは何ですか?
9 に答える
PUT、POST、GET、DELETE、PATCH IN HTTP 動詞の違い:
最も一般的に使用される HTTP 動詞の POST、GET、PUT、DELETE は、データベースでの CRUD (作成、読み取り、更新、および削除) 操作に似ています。これらの HTTP 動詞は大文字で指定します。というわけで、以下はそれらの比較です。
- 作成 - POST
- 読む - GET
- 更新 - PUT
- 削除 - 削除
PATCH:リソースに部分的な変更を送信します。リソースの 1 つのフィールドのみを更新する必要がある場合は、PATCH メソッドを使用できます。
注:
POST、PUT、DELETE はコンテンツを変更するため、以下の URL の Fiddler を使用したテストは更新を模倣するだけです。実際には削除または変更しません。ステータス コードを確認して、挿入、更新、削除が発生したかどうかを確認できます。
URL: http://jsonplaceholder.typicode.com/posts/
1)取得:
GET は、最も単純なタイプの HTTP 要求メソッドです。リンクをクリックするか、アドレスバーに URL を入力するたびにブラウザーが使用するものです。URL で識別されるデータをクライアントに送信するようにサーバーに指示します。GET 要求の結果として、サーバー側でデータが変更されることはありません。この意味で、GET リクエストは読み取り専用です。
Fiddler または PostMan での確認: Fiddler を使用して応答を確認できます。Fiddler を開き、[作成] タブを選択します。以下に示すように動詞と URL を指定し、[実行] をクリックして応答を確認します。
動詞: GET
URL: http://jsonplaceholder.typicode.com/posts/
応答: 次のような応答が返されます。
"userId": 1, "id": 1, "title": "sunt aut...", "body": "quia et suscipit..."
「ハッピー」(またはエラーでない) パスでは、GET は XML または JSON の表現と HTTP 応答コード 200 (OK) を返します。エラーの場合、ほとんどの場合、404 (NOT FOUND) または 400 (BAD REQUEST) が返されます。
2) 投稿:
POST 動詞は、主に新しいリソースを作成するために使用されます。特に、従属リソースを作成するために使用されます。つまり、他のリソース (親など) に従属します。
作成が成功すると、HTTP ステータス 201 を返し、201 HTTP ステータスで新しく作成されたリソースへのリンクを含む Location ヘッダーを返します。
Fiddler または PostMan での確認: Fiddler を使用して応答を確認できます。Fiddler を開き、[作成] タブを選択します。以下に示すように動詞と URL を指定し、[実行] をクリックして応答を確認します。
動詞: POST
URL: http://jsonplaceholder.typicode.com/posts/
リクエスト本文:
data: { title: 'foo', body: 'bar', userId: 1000, Id: 1000 }
応答:応答コード 201 を受け取ります。
Id = 1000 で挿入されたレコードを確認する場合は、動詞を Get に変更し、同じ URL を使用して、[実行] をクリックします。
前述したように、上記の URL は読み取り (GET) のみを許可しており、更新されたデータを実際に読み取ることはできません。
3) 置く:
PUT は更新機能に最も頻繁に使用され、元のリソースの新しく更新された表現を含む要求本文を使用して、既知のリソース URI に PUT します。
Fiddler または PostMan での確認: Fiddler を使用して応答を確認できます。Fiddler を開き、[作成] タブを選択します。以下に示すように動詞と URL を指定し、[実行] をクリックして応答を確認します。
動詞:置く
URL: http://jsonplaceholder.typicode.com/posts/1
リクエスト本文:
data: { title: 'foo', body: 'bar', userId: 1, Id: 1 }
応答:更新が成功すると、PUT から 200 (本文にコンテンツが返されない場合は 204) が返されます。
4) 削除:
DELETE は非常に理解しやすいです。URI で識別されるリソースを削除するために使用されます。
削除が成功すると、HTTP ステータス 200 (OK) を応答本文と共に返します。おそらく、削除されたアイテムの表現 (多くの場合、帯域幅が多すぎます)、またはラップされた応答 (以下の戻り値を参照) です。それか、HTTP ステータス 204 (NO CONTENT) を応答本文なしで返します。つまり、本文のない 204 ステータス、または JSEND スタイルのレスポンスと HTTP ステータス 200 が推奨されるレスポンスです。
Fiddler または PostMan での確認: Fiddler を使用して応答を確認できます。Fiddler を開き、[作成] タブを選択します。以下に示すように動詞と URL を指定し、[実行] をクリックして応答を確認します。
動詞:削除する
URL: http://jsonplaceholder.typicode.com/posts/1
応答:削除が成功すると、応答本文とともに HTTP ステータス 200 (OK) が返されます。
PUT と PATCH の例
置く
ファーストネームを変更する必要がある場合は、更新のために PUT リクエストを送信します。
{ "first": "Nazmul", "last": "hasan" } したがって、ここで名を更新するには、データのすべてのパラメーターを再度送信する必要があります。
パッチ:
パッチ リクエストには、データの他の部分を変更したり影響を与えたりせずに、変更する必要があるデータのみを送信すると記載されています。例: 名のみを更新する必要がある場合は、名のみを渡します。
詳細については、以下のリンクを参照してください。
https://jsonplaceholder.typicode.com/
最も簡単な説明:
POST - 新しいレコードを作成
PUT - レコードが存在する場合、そうでない場合は更新し、新しいレコードを作成します
パッチ - 更新
GET - 読み取り
削除 - 削除