Pasar parámetros de cadena a la API REST de WP

1 minuto de lectura

Puedo pasar valores enteros a la API REST de WP. Pero, no puede pasar caracteres no numéricos. Da error.

Esto es lo que usé…

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

¿Alguna idea de cómo pasar cadenas también …?

yo mismo lo encontre…

usar [a-zA-Z0-9-] en vez de \d para cuerdas

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',
    ) );
} );

Esto funcionó para mí: /(?P<slug>\w+)

Pruebe el siguiente código para definir el punto final también.

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

  • he usado (?P<stringvar>.+) tanto como (?P<stringvar>[^/]+) para parámetros de cadena. Realmente depende de lo que necesite recuperar y poner.

    – MrMesees

    23 de febrero de 2018 a las 13:44

tienes que probar esto, funcionará

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

¿Ha sido útil esta solución?