13

我可以将整数值传递给 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',
    ) );
} );

知道如何传递字符串..吗?

4

4 回答 4

27

我自己发现的...

使用[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',
    ) );
} );
于 2017-01-19T10:23:45.860 回答
6

这对我有用:/(?P<slug>\w+)

于 2017-07-13T13:49:25.430 回答
2

尝试下面的代码来定义端点。

add_action( 'rest_api_init', function () {
    register_rest_route( 'crowdapi/v1', '/register/(?P<id>\d)/(?P<username>\d)', array(
        'methods' => 'POST',
        'callback' => 'userCheck',
    ) );
} );
于 2017-01-19T11:15:32.340 回答
0

你需要试试这个,它会起作用的

add_action( 'rest_api_init', function () {
    register_rest_route( 'crowdapi/v1', '/register/(?P<id>\d+)/(?P<username>\w+)', array(
        'methods' => 'POST',
        'callback' => 'userCheck',
    ) );
} );
于 2021-11-10T10:25:12.210 回答