426

HTTPプロトコルのPUT、POST、PATCHメソッドの違いは何ですか?

4

9 に答える 9

306

PUT、POST、GET、DELETE、PATCH IN HTTP 動詞の違い:

最も一般的に使用される HTTP 動詞の POST、GET、PUT、DELETE は、データベースでの CRUD (作成、読み取り、更新、および削除) 操作に似ています。これらの HTTP 動詞は大文字で指定します。というわけで、以下はそれらの比較です。

  1. 作成 - POST
  2. 読む - GET
  3. 更新 - PUT
  4. 削除 - 削除

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/

https://github.com/typicode/jsonplaceholder#how-to

PATCH と PUT リクエストの主な違いは何ですか?

http://www.restapitutorial.com/lessons/httpmethods.html

于 2016-11-21T00:43:42.093 に答える
37

最も簡単な説明:

POST - 新しいレコードを作成

PUT - レコードが存在する場合、そうでない場合は更新し、新しいレコードを作成します

パッチ - 更新

GET - 読み取り

削除 - 削除

于 2020-01-24T10:58:07.980 に答える