我正在编写一个插件,自定义端点遇到了一些麻烦,该端点从应用程序的前端(角度)接收数据,并将通过另一个函数来过滤某些数据。我对产品数据库的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
}
}
答案 0 :(得分:0)
这没有用,因为我没有传入任何参数,并且寄存器函数中的一个小改动解决了该问题:
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;
}
));
});