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

開発者必見!トップ10のステーブルコインAPI紹介

開発者必見!トップ10のステーブルコインAPI紹介

この記事では、開発者が革新を起こすために活用できる、リアルタイムデータと安全なトランザクションなどの機能を備えた10の優れたステーブルコイン取引APIを評価。各APIの強みを分析し、国際決済から市場分析まで多様なユースケースをサポートします。

31 5月 2025

開発者向け:今すぐ試したい10個の無料AI API

開発者向け:今すぐ試したい10個の無料AI API

無料AI APIは、開発者にプロジェクトへAI機能を組み込む機会を提供します。APIを用いて、自然言語処理やコンピュータビジョンなどの高度な技術が簡単にアプリに追加可能であり、長期的な戦略の基盤にもなります。

30 5月 2025

VibeCoder向け: 注目の2025年MCPサーバー10選

VibeCoder向け: 注目の2025年MCPサーバー10選

おすすめのMCPサーバーをCursor環境に統合することで、開発ワークフローが大幅に強化され、コンテキスト切り替えの時間を削減し、コーディングに集中できます。まずはFirecrawlから始め、BrowserbaseやMagic MCPなどを探求して開発体験を向上させましょう。

29 5月 2025

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

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