rest_get_endpoint_args_for_schema()


WordPressのrest_get_endpoint_args_for_schema()関数は、REST APIのエンドポイント引数をスキーマから生成するために使用されます。JSONスキーマに基づいて、リクエストパラメータのバリデーションルールを自動的に作成します。

構文

rest_get_endpoint_args_for_schema( array $schema, string $direction = WP_REST_Server::READABLE );

引数の説明:

  • $schema(array) — JSONスキーマの配列。
  • $direction(string) — リクエストの方向(WP_REST_Server::READABLEまたはWP_REST_Server::CREATABLE)。

例1: 基本的なスキーマから引数を生成

シンプルなスキーマを使用してエンドポイント引数を生成します。

$schema = ['type' => 'string']; $args = rest_get_endpoint_args_for_schema($schema);

例2: 必須フィールドを含むスキーマ

必須フィールドを指定して引数を生成します。

$schema = ['type' => 'object', 'required' => ['title'], 'properties' => ['title' => ['type' => 'string']]]; $args = rest_get_endpoint_args_for_schema($schema);

例3: 数値型のバリデーション

数値型のスキーマを使用します。

$schema = ['type' => 'number', 'minimum' => 0]; $args = rest_get_endpoint_args_for_schema($schema);

例4: 配列型のスキーマ

配列型のスキーマを適用します。

$schema = ['type' => 'array', 'items' => ['type' => 'string']]; $args = rest_get_endpoint_args_for_schema($schema);

例5: カスタムプロパティを持つオブジェクト

カスタムプロパティを持つオブジェクトスキーマを使用します。

$schema = ['type' => 'object', 'properties' => ['id' => ['type' => 'integer'], 'name' => ['type' => 'string']]]; $args = rest_get_endpoint_args_for_schema($schema);

例6: CREATABLEリクエスト用の引数

POSTリクエスト用の引数を生成します。

$schema = ['type' => 'string']; $args = rest_get_endpoint_args_for_schema($schema, WP_REST_Server::CREATABLE);

例7: 列挙型のバリデーション

enumを使用して特定の値のみを許可します。

$schema = ['type' => 'string', 'enum' => ['published', 'draft']]; $args = rest_get_endpoint_args_for_schema($schema);

注意点

  • スキーマが無効な場合、関数は空の配列を返します。
  • 複雑なスキーマはパフォーマンスに影響する可能性があります。

関連機能: