Contact us
『ホームページ制作の相談をしたい』『もっとたくさん商品を売りたい』等、ご要望をお伝えくださいませ。
疑問に思っていること、お困りごと、具体的な内容が未定でも、まずはお気軽にご相談くださいませ。
REST APIは、リソースとその表現のやり取りを、RESTという設計上の考え方に沿って行うAPIです。RESTはソフトウェア構成への制約の組であり、HTTPで呼び出せるAPIすべてが、その制約を満たすとは限りません。[1]
RESTでは、扱う対象をどう表し、相互作用をどう統一するかを考えます。リソースと、そのやり取りを支える制約を分けると理解しやすくなります。[2]
リソースは、文書や画像など、名前を付けて扱う対象です。実際の通信では、その対象の状態を示す表現をやり取りします。対象そのものと、送受信するデータを同一視しないことがポイントです。[2]
RESTの制約は、通信と構成の役割をそろえるものです。Fieldingの論文では、次の制約を組み合わせて説明しています。[2]
HTTPメソッドは、対象へどのような要求を送るかを表します。次の表はRFC 9110に沿った一般的な意味で、個別APIの実装仕様とは分けて確認します。[3]
メソッド | 要求の意味 | 安全・冪等 |
|---|---|---|
GET[3] | 表現の取得[3] | 安全・冪等[3] |
POST[3] | 表現の処理[3] | どちらでもない[3] |
PUT[3] | 状態の作成・置換[3] | 冪等(安全ではない)[3] |
DELETE[3] | 関連付けの除去[3] | 冪等(安全ではない)[3] |
安全とは、要求の意味が基本的に読み取り用であることです。冪等とは、同じ要求を繰り返したときの意図された効果が、一度の要求と同じであることです。ログの記録などの副作用が一切ないことや、応答が毎回同じことを保証する意味ではありません。[3]
POSTは新規作成だけに限られず、PUTも部分更新専用ではありません。また、DELETEは保存データの物理消去を保証するメソッドではありません。個別APIで何が起きるかは、その提供元の仕様で確かめます。[3]
JSONは、APIで送受信する表現形式の一つです。RESTは設計上の考え方なので、JSONを使っていることだけでRESTの制約を満たすとは判断できません。[1][4]
APIの説明では、どの形式でデータを送るかと、リソースをどのような要求で扱うかを分けて確認すると、役割を混同しにくくなります。
利用時には、URLとメソッドだけでなく、アクセスの条件と応答の意味まで確認します。次は実装を読む前の確認観点です。
『ホームページ制作の相談をしたい』『もっとたくさん商品を売りたい』等、ご要望をお伝えくださいませ。
疑問に思っていること、お困りごと、具体的な内容が未定でも、まずはお気軽にご相談くださいませ。
Web制作・運用・改善に20年以上携わり、WordPress、CMS構築、SEO、AWSなど、Webサイトの企画・制作から公開後の運用まで幅広く担当。実務経験にもとづき、本記事の内容・表現・技術情報を監修しています。