なぜWordPress REST APIを使用するのか
WordPress REST APIには多くのユースケースがあります。最も大きなユースケースの1つは、WordPressの上にシングルページアプリケーションを作成することです。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メソッドをルートにマッピングすることをエンドポイントと呼びます。明確にするために:GET
リクエストをhttp://oursite.com/wp-json/
に送信すると、利用可能なルートと各ルート内の利用可能なエンドポイントを示すJSONレスポンスが返されます。/wp-json/
はルート自体であり、GET
リクエストが行われると、WordPress REST APIのインデックスとして知られるものを表示するエンドポイントに一致します。次のセクションでは、独自のルートとエンドポイントを登録する方法を学びます。
リクエスト
WordPress REST APIのインフラストラクチャにおいて、主要なクラスの1つはWP_REST_Request
です。リクエストクラスは、現在のリクエストの情報を保存および取得するために使用され、リクエストはHTTPを使用せずにPHP内で内部的に行うこともできます。WP_REST_Request
オブジェクトは、登録されたルートにHTTPリクエストを行うたびに自動的に生成されます。リクエストで指定されたデータは、APIから返されるレスポンスに影響を与えます。リクエストクラスを使用して行えることはたくさんあります。リクエストセクションでは、さらに詳しく説明します。
レスポンス
レスポンスは、APIから返されるデータです。WP_REST_Response
は、エンドポイントから返されるレスポンスデータと対話する方法を提供します。レスポンスは、希望するデータを返すことができ、エラーを返すためにも使用できます。
スキーマ
異なる種類のデータのレスポンスとリクエストがある場合、私たちはどのタイプのデータと対話しているのかを判断できる必要があります。スキーマは、データを構造化する方法を提供します。スキーマは、APIに対して行われるリクエストを検証できるため、APIに対するセキュリティ上の利点も提供します。スキーマは大きなトピックであり、スキーマセクションで詳しく説明します。
コントローラークラス
ご覧のとおり、WordPress REST APIにはすべてが一緒に機能する必要がある多くの可動部分があります。コントローラークラスは、これらの要素を1つの場所にまとめることを可能にします。コントローラークラスを使用することで、ルートとエンドポイントの登録を管理し、リクエストを処理し、スキーマを利用し、レスポンスを生成することができます。
次のステップ
REST APIのためのルートとエンドポイントを登録する方法に飛び込みましょう。