HTTP PATCHとは、PATCHリクエストを送信する方法

HTTP PATCHは、HTTPリクエストを送信する時に使われるHTTPメソッドの1つになります。本文では、HTTP PATCHの基本情報を消化した上、簡単にPATCHリクエストを送信する方法を皆さんに紹介します。

中村 拓也

中村 拓也

11 5月 2025

HTTP PATCHとは、PATCHリクエストを送信する方法

HTTP PATCHは、HTTPリクエストを送信する時に使われるHTTPメソッドの1つになります。本文では、HTTP PATCHの基本情報を消化した上、簡単にPATCHリクエストを送信する方法を皆さんに紹介します。

💡
ApidogはPATCHを含むすべてのHTTPメソッドを利用したリクエストの送信にも対応しており、ノーコードでリクエストの実行を行えます。また、送信したリクエストのデータを保存して、それに基づいてAPI仕様書を作成したり、さまざまなプログラミングの実装コードを生成したりすることも簡単に実行されますので、APIの管理が非常に便利になります。

Apidogは個人向け完全無料なツールとして、下記のボタンからこのツールを無料で取得することができます👇👇👇
button

HTTP PATCHとは?

HTTP PATCHは、HTTPプロトコルのメソッドの1つです。PATCHメソッドは、リソースの部分的な更新を行うために使用されます。PATCHリクエストには、更新したいフィールドと新しい値が含まれています。

HTTP PATCHの特徴と役割

HTTP PATCHというメソッドは次のような特徴があると考えられています:

PATCHを使用する場合、クライアントは更新対象のプロパティのみを送信するので、ネットワークトラフィックを削減できます。また、サーバ側はリソース全体を取得・シリアライズ・保存するコストが削減されます。その一方で、冪等性が保証されないという制限があります。

REST APIでPATCHメソッドが普及されていない?

REST APIの設計では、リソースの性質に応じて適切なHTTPメソッドを選択することが重要です。PATCHメソッドは、リソースの部分的な更新が必要な場合に適しているので、PATCHメソッドは重要な役割を果たします。

ただし、現段階ではすべてのHTTP APIもREST設計原則に従っているわけでもないので、PATCHリクエストは、GETやPOSTほど汎用されていないメソッドです。PATCHリクエストを使う必要がある場合は、現在、みんなもPOSTリクエストによって実行されているみたいですね。

HTTP PATCHの使用例

HTTP PATCHはPOSTやPUTのように、リクエストボディを利用してデータを渡します。また、前述のように、HTTP PATCHはデータの部分的な更新を行うために利用されることが多いのです。

そこで、PATCHリクエストで送信されたnameとageの値で、/users/12345リソースが部分的に上書きされる具体的な使用例を皆さんに紹介していきたいと思います。

PATCH前の/users/12345リソース:

{
  "name": "Jane Doe",
  "age": 32,  
  "id": 12345,
  "phone": 456789
}

そして、次のようなPATCHリクエストをすると、

PATCH /users/12345 HTTP/1.1
Content-Type: application/json

{
  "name": "John Smith",
  "age": 35  
}

この例では、/users/12345という既存のユーザーリソースに対してPATCHメソッドで部分更新を行っています。リクエストボディには、更新したいnameとageのプロパティのみを指定しています。これにより、それらのプロパティの値が更新されますが、他のプロパティは変更されませんので、PATCH後の/users/12345リソースは次のようになります。

{
  "name": "John Smith", 
  "age": 35,
  "id": 12345,
  "phone": 456789  
}

このように、PATCHリクエストのボディに含まれていなかったidとphoneのプロパティは変更されず、nameとageのみが更新されます。

また、PATCHリクエストのレスポンスのステータスコードは200や204が一般的です。

HTTP/1.1 204 No Content

このようにPATCHを使用することで、ネットワーク帯域幅やクライアント/サーバの処理コストを削減できます。一方で冪等性が保証されないという制約があります。

PATCHとPOSTとPUTの違い

HTTP POST、PUTやPATCHもリソースに対して書き込む操作を行うメソッドとして、どのような違いがあります。基本的には、POSTは新規作成に、PUTは全置き換えに、PATCHは部分的な更新に使用すると認識しては良いのですが、次は、より詳しい違いを解説していこうとおもいます。

HTTPのPOST、PUT、PATCHメソッドの違いをテーブル形式でまとめると、次のテーブルが作成されます:

項目 POST PUT PATCH
主な用途 新規リソースの作成 リソースの全置換 リソースの部分更新
リクエストbody 新規データ全体 更新後の全データ 変更するデータのみ
幂等性 保証される 保証される 保証されない
ステータスコード 201 Created 200 OK、204 No Content 200 OK、204 No Content

主なポイントとして、やはりその用途にあると考えられています:

そこで、特にREST APIを設計する時には、HTTPメソッドそれぞれの特徴を理解して適切に使い分ける必要があります。

button

Apidog:1クリックでPATCH/PUT/POSTを送信

PATCHリクエストを送信してリソースを書き込んだりするには、たくさんのツールやライブラリを利用することもできますが、一番簡単な対策は日本語対応API管理ツールのApidogを使用することです。

Apidogを使用すると、たった1クリックだけでPATCHリクエストを送信できます。また、送信したリクエストのデータを保存して、それに基づいてAPI仕様書を作成したり、さまざまなプログラミングの実装コードを生成したりすることも簡単に実行されますので、非常に便利です。

ApidogでPATCHリクエストを送信する場合、HTTPメソッドをPATCHに指定して、正確なAPIエンドポイントを記入した上、Body、Header情報を設定して簡単にそうできます。また、Bodyで特定なデータを送信するために、form-data、x-www-form-urlencoded、json、xml、rawやbinaryなどのフォーマットを選択することも可能です。

APIの単体テスト

まとめ

この記事は、HTTPのPATCHメソッドについて皆さんに解説しました。PATCHはリソースの部分的な更新に利用されるHTTPメソッドになります。また、PATCHリクエストを簡単に実装するために、Apidogという使いやすいAPI管理ツールを使用することがおすすめです。

Apidogを使えば開発者がPATCHをはじめとしたHTTPリクエストの送受信をスムーズに行えますし、APIの設計・ドキュメント・コード生成を一貫して支援します。

button

Explore more

Claude Code vs Cursor: 料金比較検証 - どちらが安い?

Claude Code vs Cursor: 料金比較検証 - どちらが安い?

比較の結果、Claude Codeは多くのケースでCursorよりコストパフォーマンスに優れ、特にコスト重視の開発者に適しています。APIや最適化戦略を活用することで、コストをさらに削減可能です。

12 6月 2025

Claude 4を無料で使う3つの方法

Claude 4を無料で使う3つの方法

Claude 4を無料で使う3つの方法と、Apidogとの連携による開発効率アップの秘訣を解説。IT従事者・初心者必見の最新AI活用術を紹介します。

6 6月 2025

開発者必見!Claude Codeが切り拓く2025年AIプログラミングの未来

開発者必見!Claude Codeが切り拓く2025年AIプログラミングの未来

Claude Codeは強力なAI機能とターミナル統合で、2025年の開発者に最適なAIコーディング革新ツールです。コード品質と効率を向上し、プライバシーも重視します。

5 6月 2025

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる