web-dev-qa-db-ja.com

"rest_no_route" - デバッグエラー

私はWordpressの4.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}}

get-routeは完璧に動作しています!

私は現在第三者のプラグインを使用していません。

post-routeに対してこのエラーをデバッグする方法について何か提案はありますか?私のコードから、すべてがうまくいっているように見えます!

お返事ありがとうございます。

1
Kare

POSTのみの休止コールバックではGETしないでください。以下のコードはPOST呼び出しのみを作成します

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

http:// localhost/wordpress-site/wp-json/miningRigs/v1 をチェックすると、POST on createRig のみが表示されます。

私はちょうどあなたのコードをコピー/貼り付け+ https://pressupinc.com/blog/2013/07/minimum-viable-wordpress-plugin/ を追加して/ 4.9.5でプラグインを有効にし、それは期待どおりに動作しますa WP 4.9.5

3
Clemens Tolboom