让代码更简单

WP REST API自定义端点传递多个字符串参数

重要:本文最后更新于2019-08-03 10:22:10,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

随着移动浏览的不断发展,网站向移动端发展已成必然,WordPress也逐步开发了为移动端提供数据的接口WP REST API。前面我们已经讲过如何使用WP REST API,并且自定义相关的路由规则,不清楚看这里register_rest_route函数为WP REST API注册自定义接口,前几天在写一个数据接口的时候需要传递多个参数,发现网上的教程都只有如何传递数字型参数的写法,下面看看怎么传递多个字符串参数吧!

WP REST API

WP REST API

首先依旧使用register_rest_route函数注册wp rest api路由规则

复制
register_rest_route('dmd/v1', 'search', [
'methods' => 'GET',
'callback' => 'dmd_rest_search_callback',
]);

大家注意看,我这个规则并没有后面的参数匹配规则,也就是说没有对应的参数处理操作。

取出参数

复制
function dmd_rest_search_callback($request)
{
$s = $request->get_param('s');
$paged = $request->get_param('paged');
return get_search($s, $paged);
}

同样使用$request对象的get_param方法取得参数,但是我们应该如何传递参数进来呢?

使用域名/wp-json/dmd/v1/search?s=XXX&paged=2进行访问即可,是不是很像我们使用get参数访问呢。

如果你写成上面的样子,一定要注意安全问题,在取得参数之后一定要做处理,我这里的参数是给WordPress函数使用,所以无所谓。如果涉及到数据库操作,特别是插入数据,一定要处理,否则存在注入风险!

按照这种方法,传多少参数都行,成功解决搜索时的中文限制。

感觉很棒!可以赞赏支持我哟~

0 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐