web-dev-qa-db-ja.com

文字列パラメータをWP REST API

WP REST APIに整数値を渡すことはできますが、数値以外の文字を渡すことはできません。エラーが発生します。

これは私が使用したものです...

add_action( 'rest_api_init', function () {
    register_rest_route( 'crowdapi/v1', '/register/(?P<id>\d+)/(?P<username>\d+)', array(
        'methods' => 'POST',
        'callback' => 'userCheck',
    ) );
} );

文字列を渡す方法もあります。

9
TharinduLucky

私はそれを自分で見つけました...

使用する [a-zA-Z0-9-] の代わりに \d文字列の場合

add_action( 'rest_api_init', function () {
    register_rest_route( 'crowdapi/v1', '/register/(?P<id>\d+)/(?P<number>[a-zA-Z0-9-]+)', array(
        'methods' => 'POST',
        'callback' => 'userCheck',
    ) );
} );
18
TharinduLucky

これは私のために働いた:/(?P<slug>\w+)

2
user3878652

エンドポイントを定義するためにも、以下のコードを試してください。

add_action( 'rest_api_init', function () {
    register_rest_route( 'crowdapi/v1', '/register/(?P<id>\d)/(?P<username>\d)', array(
        'methods' => 'POST',
        'callback' => 'userCheck',
    ) );
} );
1
Ash Patel