it-swarm.com.de

"rest_no_route" - Fehler beim Debuggen

Ich verwende Wordpress 4.9.5 und möchte einen benutzerdefinierten Endpunkt wie den folgenden erstellen:

<?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";
}

Die URL, die ich benutze, ist:

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

Als Gegenleistung für den post-route erhalte ich jedoch Folgendes:

{"code":"rest_no_route","message":"No route was found matching the URL and request method","data":{"status":404}}

Der get-route funktioniert einwandfrei!

Ich verwende derzeit keine Plugins von Drittanbietern.

Irgendwelche Vorschläge, wie dieser Fehler für den post-route behoben werden kann? Nach meinem Code sieht alles in Ordnung aus!

Ich freue mich über Ihre Antworten!

1
Kare

Sie sollten sich nicht auf einen POST Rest-Rückruf verlassen. Mit dem folgenden Code wird nur ein POST -Aufruf erstellt

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

Überprüfe http: // localhost/wordpress-site/wp-json/miningRigs/v1 was zeigt, dass du nur POST auf createRig

Ich kopiere/füge einfach deinen Code ein + füge das https://pressupinc.com/blog/2013/07/minimum-viable-wordpress-plugin/ hinzu und aktiviere das Plugin auf 4.9.5 und es funktioniert wie erwartet auf a WP 4.9.5

3
Clemens Tolboom