Reputation: 3998
I can pass integer values to WP REST API. But, cannot pass non-numeric characters. It gives error.
This is what I used...
add_action( 'rest_api_init', function () {
register_rest_route( 'crowdapi/v1', '/register/(?P<id>\d+)/(?P<username>\d+)', array(
'methods' => 'POST',
'callback' => 'userCheck',
) );
} );
Any idea how to pass strings as well.. ?
Upvotes: 14
Views: 18052
Reputation: 1673
you need to try this, it will work
add_action( 'rest_api_init', function () {
register_rest_route( 'crowdapi/v1', '/register/(?P<id>\d+)/(?P<username>\w+)', array(
'methods' => 'POST',
'callback' => 'userCheck',
) );
} );
Upvotes: 0
Reputation: 3614
Try below code for define endpoint as well..
add_action( 'rest_api_init', function () {
register_rest_route( 'crowdapi/v1', '/register/(?P<id>\d)/(?P<username>\d)', array(
'methods' => 'POST',
'callback' => 'userCheck',
) );
} );
Upvotes: 3
Reputation: 3998
I found it myself...
use [a-zA-Z0-9-]
instead of \d
for strings
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',
) );
} );
Upvotes: 29