admin管理员组文章数量:1332403
I'm trying to define a GET REST API endpoint with register_rest_route
register_rest_route supports defining a URL parameter and it is documented at
I would love to define a list of query parameters and let Wordpress handle the validation part. Is there an official way to do so?
I'm trying to define a GET REST API endpoint with register_rest_route
register_rest_route supports defining a URL parameter and it is documented at https://developer.wordpress/rest-api/extending-the-rest-api/adding-custom-endpoints/#arguments
I would love to define a list of query parameters and let Wordpress handle the validation part. Is there an official way to do so?
Share Improve this question asked Jul 9, 2020 at 10:52 왕뚜껑왕뚜껑 651 silver badge3 bronze badges 5 |1 Answer
Reset to default 3Yes, from the link you posted there are examples for both sanitising and validating the parameters. Validating does a check which can fail and block the API call from running; sanitising just does some operations to clean or interpret the parameter and does not stop the API call from running.
An example of validation, taken from the page:
<?php
add_action( 'rest_api_init', function () {
register_rest_route( 'myplugin/v1', '/author/(?P<id>\d+)', array(
'methods' => 'GET',
'callback' => 'my_awesome_func',
'args' => array(
'id' => array(
'validate_callback' => function($param, $request, $key) {
return is_numeric( $param );
}
),
),
) );
} );
You can see in the second parameter of register_rest_route
that this defines an endpoints like /author/1234
The format of the second parameter of register_rest_route breaks down as:
/author/
initial part of the URL to match?P
a code specific to this function that means 'parameter'. Note this is not included in the URL when called<id>
optional name for the parameter, used belows inargs
, not included as part of URL.\d+
the regex for this parameter
本文标签: validationHow to define a query parameter with REST API
版权声明:本文标题:validation - How to define a query parameter with REST API? 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742278068a2445572.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
validate_callback
is for. – Jacob Peattie Commented Jul 9, 2020 at 10:59args
argument. By using regex in the endpoint you can accept them as part of the URL, but by default they're passed as query parameters. – Jacob Peattie Commented Jul 9, 2020 at 11:11