我正在编写一个插件,但我在使用自定义端点时遇到了一些问题,该端点从应用程序前端(Angular)接收数据,并将向其传递另一个函数来过滤一些数据。我对产品数据库的 GET 请求工作得很好,但 POST 只返回 404 错误(如果我在 Insomnia 中测试端点,则会返回一个空数组)。我尝试过的解决方案包括确保设置漂亮的永久链接、切换主题,但都无济于事。我还检查了 wp-json 文件,它显示在那里。该端点的代码:
function get_awesome_params(WP_REST_Request $request) {
// question attributes from angular code
$parameters = $request->get_params();
return new WP_REST_Response($parameters, 200);
}
add_action('rest_api_init', function() {
register_rest_route('awesome/v1', '/awesomeparams', array(
'methods' => WP_REST_Server::CREATABLE,
'callback' => 'get_awesome_params',
'permission_callback' => function () {
return true;
}
));
});
编辑:访问页面上的错误消息是:
{
code: "rest_no_route",
message: "No route was found matching the URL and request method",
data: {
status: 404
}
}
这不起作用,因为我没有传递任何参数,并且寄存器函数中的一个小变化修复了这个问题:
add_action('rest_api_init', function() {
register_rest_route('awesome/v1', 'awesomeparams', array(
'methods' => WP_REST_SERVER::CREATABLE,
'callback' => 'get_awesome_params',
'args' => array(),
'permission_callback' => function () {
return true;
}
));
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)