"rest_no_route" - Debug error

时间:2018-04-22 作者:Carol.Kar

我正在使用Wordpress4.9.5 我想创建一个自定义端点,如下所示:

<?php
add_action(\'rest_api_init\', \'miningRigsRoutes\');

function miningRigsRoutes()
{
    register_rest_route(\'miningRigs/v1\', \'createRig\', array(
        \'methods\' => WP_REST_SERVER::CREATABLE,
        \'callback\' => \'createMiningRig\',
    ));

    register_rest_route(\'miningRigs/v1\', \'allRigs\', array(
        \'methods\' => WP_REST_SERVER::READABLE,
        \'callback\' => \'allMiningRigs\',
    ));
}

function createMiningRig($data)
{
    //var_dump($data);
    //print_r($data);
    return "Thanks for using the API";
}

function allMiningRigs() {
    return "All mining Rigs";
}
我使用的url是:

http://localhost/wordpress-site/wp-json/miningRigs/v1/createRig/

然而,作为对post-route:

{"code":"rest_no_route","message":"No route was found matching the URL and request method","data":{"status":404}}
Theget-route 工作非常好!

我目前不使用任何第三方插件。

如何调试此错误的任何建议post-route? 从我的代码来看,一切看起来都很好!

感谢您的回复!

1 个回复
最合适的回答,由SO网友:Clemens Tolboom 整理而成

您不应该使用仅POST rest回调。下面的代码仅创建POST调用

register_rest_route(\'miningRigs/v1\', \'createRig\', array(
    \'methods\' => WP_REST_SERVER::CREATABLE,
    \'callback\' => \'createMiningRig\',
));
检查http://localhost/wordpress-site/wp-json/miningRigs/v1 这表明你只能在createRig

我只是复制/粘贴您的代码+添加https://pressupinc.com/blog/2013/07/minimum-viable-wordpress-plugin/ 然后在4.9.5上启用插件,它在WP 4.9.5上的工作与预期的一样

结束

相关推荐

WP REST API-如何在Java中将嵌入式转换为JSON对象

我想通过我的帖子从WordPress Rest api获取嵌入图像。我发现我应该添加_embed 或_embed=true 作为我的请求的查询参数。结果有额外的_embedded 部分如下:我将名为\\u embedded的embeddedDto放在主json文件中,并创建其他需要的DTO来处理此问题。图像中的突出显示点似乎有问题wp:featuremedia, 我应该如何将其解析为json?我创建了一个具有featuremedia dto的类wp。我说得对不对?您可以在此处看到其他DTO:public