WP REST API 自定义 POST 端点不工作,404 错误
WP REST API Custom POST Endpoint Not Working, 404 error
我正在编写一个插件,但我在使用自定义端点时遇到了一些问题,该端点从应用程序的前端 (Angular) 获取数据,并将其传递给另一个函数过滤一些数据。我对产品数据库的 GET 请求工作正常,但 POST 只是 returns 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;
}
));
});
我正在编写一个插件,但我在使用自定义端点时遇到了一些问题,该端点从应用程序的前端 (Angular) 获取数据,并将其传递给另一个函数过滤一些数据。我对产品数据库的 GET 请求工作正常,但 POST 只是 returns 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;
}
));
});