REST API 概要

WordPress REST API は、WordPress に多くの新機能をもたらします。REST API は、データフォーマットとして JSON (JavaScript Object Notation、JavaScript オブジェクト記法) を使用しています。JSON は、オープンスタンダードのデータフォーマットで、Web 全体やソフトウェア全般で広く使われるようになってきています。軽量で人間が読むことができ、JavaScript の Object のように見えます; これが名前の由来です。API にリクエストすると、レスポンスは JSON で返されます。これにより、開発者は PHP 以外の言語でも WordPress を使用できるようになり、WordPress を新しくエキサイティングな方法で使用できます。

なぜ WordPress REST API を使用するのか

WordPress REST API には、多くのユースケースがあります。最も大きなユースケースの一つは、WordPress 上に SPA (シングルページ・アプリケーション) を作成することです。WordPress のまったく新しい管理画面を作ったり、WordPress のまったく新しいフロントエンドを作ったりできます。アプリケーションを PHP で書く必要もありません。HTTP リクエストを行い、JSON を解釈できるプログラミング言語であれば、WordPress 上で何かを書くことができるのです。

WordPress REST API は、コアの admin-ajax API の強力な代替手段としても機能します。REST API を使うことで、WordPress にデータを出し入れする方法をより簡単に構造化できます。AJAX 呼び出しは、REST API を使用することで大幅に簡素化でき、より良いユーザー体験を提供できます。

ユースケースはこれら以外にもあり、私たちの想像力ができることの唯一の限界です。要するに、構造化され、拡張可能で、WordPress からデータを出し入れするシンプルな方法を求めるなら、おそらく REST API を使用したい、ということです。API はシンプルであるがゆえに、最初は非常に複雑かもしれません。ですので、より大きなパズルを簡単に組み立てることができるように、より小さな構成要素に分解することを試みます。

主要コンセプト

WordPress REST API を使い始めるために、API に関連する主要な概念と用語をいくつか説明します:

  • ルート/エンドポイント
  • リクエスト
  • レスポンス
  • スキーマ
  • コントローラ・クラス

これらのコンセプトはそれぞれ、WordPress REST API を使い、理解するうえで重要な役割を果たします。後でそれぞれをより深く掘り下げることができるように、簡単に分解してみましょう。

ルートとエンドポイント

WordPress REST API の文脈におけるルートとは、異なる HTTP メソッドにマッピングできる URI のことです。個々の HTTP メソッドをルートにマッピングすることは、エンドポイントとして知られています。明確にすると: http://oursite.com/wp-json/ に GET リクエストをすると、どのルートが利用可能か、そして、それぞれのルート内で、どのエンドポイントが利用可能かを示してくれる JSON レスポンスが返ってきます。/wp-json/ はルートそのものであり、GET リクエストが行われると、WordPress REST API 用のインデックスと呼ばれるものを示すエンドポイントに合致します。次のセクションでは、独自のルートとエンドポイントを登録する方法を学びます。

リクエスト

WordPress REST API 基盤には、主要なクラスのひとつに WP_REST_Request があります。リクエストクラスは、現在のリクエストの情報を格納したり取得したりするために使用され、HTTP を使用しないように PHP 内部でリクエストを行うこともできます。WP_REST_Request オブジェクトは、登録されたルートに HTTP リクエストを行うたびに自動的に生成されます。リクエストで指定したデータは、API から返されるレスポンスに影響します。リクエストクラスを使ってできることは実にたくさんあります。リクエストのセクションではさらに詳しく説明します。

レスポンス

レスポンスは、API から返されるデータです。WP_REST_Response は、エンドポイントから返されるレスポンスデータを相互作用する方法を提供します。レスポンスは、必要なデータを返すことができ、エラーを返すためにも使用できます。

スキーマ

さまざまな種類のデータに対するレスポンスやリクエストがある場合、どのような種類のデータと相互作用しているのかを見分けられるようにする必要があります。スキーマは、データを構造化する方法を提供してくれます。スキーマはまた、API へのリクエストを検証できるため、API にセキュリティの利点をもたらします。スキーマは大きなトピックですので、スキーマのセクションで説明することにしましょう。

コントローラ・クラス

このように、WordPress REST API には多くの可動部分があり、それらがすべて連動する必要があります。コントローラクラスは、これらすべての要素をひとつの場所にまとめることを可能にします。コントローラクラスがあれば、ルートやエンドポイントの登録、リクエストの処理、スキーマの利用、レスポンスの生成などを管理できます。

次のステップ

REST API のルートとエンドポイントを登録する方法を説明しましょう。

原文 / 日本語訳

s
検索
c
新規投稿を作成する
r
返信
e
編集
t
ページのトップへ
j
次の投稿やコメントに移動
k
前の投稿やコメントに移動
o
コメントの表示を切替
esc
投稿やコメントの編集をキャンセル