用語集

2020.03.26 2020.03.26

TOPICS

翻訳元記事はこちらです。

REST API を初めてご利用ですか?当社のドキュメントで使用されているフレーズについて、最新情報を入手してください。

コントローラー

Model-View-Controllerは、ソフトウェア開発における標準的なパターンです。まだ慣れていない場合は、少し読んでスピードを上げる必要があります。

WP-API内では、リソースエンドポイントを表すクラスの標準パターンを持つためにコントローラの概念を採用しています。すべてのリソースエンドポイントは WP_REST_Controller を継承し、共通のメソッドを実装しています。

HEAD, GET, POST, PUT,DELETEリクエスト

これらの “HTTPメソッド “は、HTTPクライアントがリソースに対して実行する可能性のあるアクションのタイプを表します。例えば、GET リクエストは投稿のデータを取得するために使われ、DELETE リクエストは投稿を削除するために使われます。これらはweb全体で標準化されているため、総称して「HTTP メソッド」と呼ばれています。

WordPressの関数に詳しい方なら、GETリクエストはwp_remote_get()に相当し、POSTリクエストはwp_remote_post()に相当します。

HTTPクライアント

「HTTP クライアント」というフレーズは、WP-API と対話するために使用するツールを指します。Postman(Chrome)やREST Easy(Firefox)を使ってブラウザでリクエストをテストしたり、httpieを使ってコマンドラインでリクエストをテストしたりします。

WordPress 自体は WP_HTTP クラスの HTTP クライアントと関連する関数(wp_remote_get() など)を提供しています。これを使って、ある WordPress サイトに別の WordPress サイトからアクセスすることができます。

リソース

「リソース」とは、WordPress の中にある個別の実体のことです。これらのリソースは、「投稿」「固定ページ」「コメント」「ユーザー」「ターム」などとして既にご存知の方も多いかもしれません。WP-APIはHTTPクライアントがリソースに対してCRUD操作を行うことを許可します。(CRUDはCreate,Read,Update,Deleteの略)

実用的には、WP-APIリソースとの連携方法は以下の通りです。

GET /wp-json/wp/v2/posts

投稿のリストを取得します。これはWP_Queryを使うのとほぼ同じです。

GET /wp-json/wp/v2/posts/123

IDが123の投稿を取得します。これは、get_post()を使うのとほぼ同じです。

POST /wp-json/wp/v2/posts

新規投稿を作成します。これは、wp_insert_post()を使うのとほぼ同じです。

DELETE /wp-json/wp/v2/posts/123

IDが123の投稿を削除します。これは、wp_delete_post()を使うのとほぼ同じです。

ルート/エンドポイント

エンドポイントとは、APIを通じて利用できる機能のことです。これには、API インデックスの取得、投稿の更新、コメントの削除などがあります。エンドポイントは特定の機能を実行し、いくつかのパラメーターを取り、クライアントにデータを返します。

ルートは、エンドポイントにアクセスするために使用する「名前」であり、URLで使用されます。ルートは複数のエンドポイントを関連付けることができ、どのエンドポイントを使用するかは HTTP メソッドに依存します。

http://example.com/wp-json/wp/v2/posts/123を例に説明します。

ルートは wp/v2/posts/123 – wp-json は API 自体のベースパスなので、ルートには wp-json が含まれていません。

このルートには、3つのエンドポイントがあります。

注意: 整ったパーマリンクがないサイトでは、ルートは代わりに rest_route パラメータとして URL に追加されます。上記の例では、完全な URL は http://example.com/?rest_route=wp/v2/posts/123 となります。

スキーマ

「スキーマ」は WP-API のレスポンスデータのフォーマットを表現したものです。
例えば、Postスキーマは、Postを取得するリクエストがid、タイトル、コンテンツ、著者、その他のフィールドを返すことを伝えます。
また、スキーマは各フィールドのタイプを示し、人が読める説明を提供し、どのコンテキストでフィールドが返されるかを示します。