Apidog

オールインワン協働API開発プラットフォーム

API設計

APIドキュメント

APIデバッグ

APIモック

API自動テスト

完全解説:1分間で分かるPUTとPOSTの違い

PUTとPOSTとも、HTTPプロトコルで使用されるリクエストのメソッドになります。それでは、PUTとPOSTとの違いはなんですか?本文では、PUTとPOSTといったHTTPメソッドを詳しく紹介した上、どのよう場合はPUTを使うのか、どのような場合はPOSTを使うのかということも詳しく紹介していきます。

中村 拓也

中村 拓也

Updated on 11月 12, 2024

PUTとPOSTとも、HTTPプロトコルで使用されるリクエストのメソッドになります。それでは、PUTとPOSTとの違いはなんですか?本文では、PUTとPOSTといったHTTPメソッドを詳しく紹介した上、どのよう場合はPUTを使うのか、どのような場合はPOSTを使うのかということも詳しく紹介していきます。

こちらもお見逃しなく:

GETとPOSTの違いは?わかりやすく解説するのはこちら!
APIを利用したり、設計したりする時に、GETとPOSTは非常によく使われるHTTPメソッドになります。それでは、GETとPOSTの違いは何ですか?本文では、その違いを分かりやすく解説します。

PUTとは

本文では、まずPUTメソッドを皆さんに紹介します。PUTメソッドはHTTPのリクエストメソッドの1つで、指定したURIの場所にリソースを作成または更新するために用いられます。

PUTメソッドの特徴

PUTメソッドは次のような特徴があります。

  • リクエストURIがリソースの識別子として使われる
  • リクエストBodyに更新後のリソースの全体が含まれる
  • 冪等性(アイデンポテンシー)を持つ。同じリクエストを繰り返しても結果は同じ。
  • 既存のリソースが存在しなければ、新規に作成される
  • 既存のリソースが存在すれば、本文の内容で完全に置き換えられる

つまり、簡単に言うと、PUTメソッドは、実際にURIパスの場所に、リクエストで送信したBody内容をリソースとして保存する操作になります。RESTful APIでは、リソースの更新にPUTが使われることも多いです。

POSTとは

POSTメソッドはHTTPのリクエストメソッドの1つで、指定したURIに対してエンティティを送信するために用いられます。

POSTメソッドの特徴

  • URIはリクエストを処理するリソースの場所を示す
  • リクエスト本文に新規リソースのデータが含まれる
  • 冪等性(アイデンポテンシー)を持たない。同じリクエストを繰り返すと異なる結果になる場合がある
  • 新しいリソースを作成する場合が多い
  • リクエスト本文が空でも有効な場合がある

つまり、簡単に言うと、POSTメソッドは、URIのリソースに対して、リクエストで送信したBody内容を適用するという操作になります。RESTful APIでは、新規リソースの作成にPOSTが使われることが多いです。

PUTとPOSTをサンプルで比較して説明

それでは、実際のリクエスト送信の時に、PUTとPOSTの使用例を一緒に見に行きましょう。

PUTの例:

PUT /users/1
{
  "id": 1,
  "name": "Ichiro",
  "age": 22  
}

これはユーザ1のレコードを送信した内容に置換するためリクエストです。

POSTの例:

POST /users
{
  "name": "Saburo",
  "age": 18
}

これは新規ユーザを作成するためのリクエストです。

上記のサンプルのように、PUTは既存リソースの全置換、POSTは新規リソースの作成に使われるのが一般的です。PUTリクエストの本文には、更新後のリソースの全データが含まれます。POSTの本文には、新規リソースに設定するデータのみが含まれます。

PUTとPOSTの違いを解説

それでは、PUTとPOSTメソッドの違いとはなんですか?次は様々な方面からその違いを詳しく解説します。

PUTとPOSTの相違点を例を用いて説明すると以下のようになります。

URIの意味

  • PUT: PUT /users/1 (URIがリソース(ユーザー1)を直接特定)
  • POST: POST /users (URIがリソースの処理(ユーザーを新規追加)を特定)

リクエスト本文の意味

  • PUT: 本文がユーザ1について更新データ全体
  • POST: 本文が新規ユーザの名前や年齢などのデータのみ

冪等性(アイデンポテンシー)

  • PUT: 同じリクエストを繰り返しても結果は同じ
  • POST: 同じリクエストでも異なる結果になる可能性がある

既存リソースの場合

  • PUT: リソースの全データをREQUEST BODYで置き換える
  • POST: リソースに対して部分的な更新を行う

新規リソースの場合

  • PUT: 新規リソースを作成する
  • POST: 新規リソースを作成する

リクエスト本文

  • PUT: 本文が必須
  • POST: 本文が必須ではない

このように、それぞれの特徴に応じた例で考えると理解が深まると思います。

Apidog:全てのHTTPメソッドにも全面的にご対応

上記の内容からPUTとPOSTの意味及びその利用シーンをよく理解できたと思います。それでは、無論PUTとPOSTのどちらかのメソッドを選択しても、Apidogという優れていたAPI管理ツールは役立つと思います。Apidogは、全てのHTTPメソッドにも全面的に対応できるので、HTTPリクエストを送信する時にも、Web APIを設計する時にも簡単に利用することができます。また、自分でAPIを開発する場合は、APIの設計だけではなく、APIの仕様書生成、テスト自動化、データモックなど、様々な機能もできます。

button

それでは、上記のボタンからApidogのオンラインバージョンを体験して、HTTPリクエスト送信時やAPIの設計時に様々なHTTPメソッドを利用しましょう。

Apidogでは、PUTやPOSTを含む様々なHTTPメソッドにも対応できます。どちらのWeb APIもHTTPプロトコルを使用していますので、目的別で、HTTPメソッドを選択する必要があります。HTTPメソッドといえば、常に下記のものがあります。

  • GET(コンテンツを取得)
  • POST(コンテンツを新規追加)
  • PUT(既存コンテンツを変更)
  • DELETE(コンテンツを削除)
Apidogで任意のAPIメソッドを設定可能
button
初心者必読!ApidogでのPOSTリクエスト作成法効果的な戦略

初心者必読!ApidogでのPOSTリクエスト作成法

Apidogを使用してPOSTリクエストを作成するプロセスは簡単で、API開発とテストを合理化する幅広い機能を提供します。初心者から経験豊富な開発者まで、Apidogは強力なツールとして役立ちます。

中村 拓也

10月 21, 2024

手動テスト完全解説:品質を保証する最後の砦効果的な戦略

手動テスト完全解説:品質を保証する最後の砦

手動テストはソフトウェアテストライフサイクルに欠かせない要素であり、アプリケーションの品質、使いやすさ、機能を保証します。自動化の利点がある一方で、手動テストは機械では得られない貴重な洞察と創造性を提供し、包括的なテスト戦略として重要です。

中村 拓也

10月 18, 2024

PostmanでHTTP 405 メソッドなしエラーを修正する方法効果的な戦略

PostmanでHTTP 405 メソッドなしエラーを修正する方法

HTTP 405エラーコードは、無効なAPIキーまたはアクセストークンを使用してサーバーにアクセスしようとすると発生します。この記事では、405エラーについて学び、それを修正する方法について、段階的に解説します。

中村 拓也

8月 11, 2024