Ich habe Restler auf meinem lokalen Server installiert, um einige APIs für mein Projekt zu testen und zu erstellen.Restler gibt immer zurück 404: Nicht gefunden
Api-Anfragen werden über http://localhost/myproject/api/
bearbeitet.
Das Problem ist, dass jedes Mal wenn ich versuche, eine Anfrage ich die folgende Fehlermeldung erhalten zu machen:
{
"error": {
"code": 404,
"message": "Not Found"
},
"debug": {
"source": "Routes.php:383 at route stage",
"stages": {
"success": [
"get"
],
"failure": [
"route",
"negotiate",
"message"
]
}
}
}
Auch dies ist mein .htaccess
:
RewriteEngine on
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^api(.*)$ /myproject/api/api.php [QSA,L]
Und das ist, was die api.php
wie folgt aussieht:
namespace myproject;
use Luracast\Restler\Restler;
require_once($_SERVER["DOCUMENT_ROOT"]."/myproject/resources/engine/settings.php");
require_once(Settings\Path\Absolute::$library."/restler/vendor/restler.php");
$restler = new Restler();
$restler->addAPIClass("myproject\\User");
$restler->handle();
Ich denke, es gibt einige misconfigura herum, aber ich kann wirklich nicht herausfinden, was falsch ist.
(ich habe auch versucht, einige Lösungen auf Stackoverflow, aber sie scheinen nicht zu funktionieren für mich)
Edit:
ich das Beispiel versucht, zu erreichen mit dem folgenden Pfad http://localhost/myproject/resources/engine/library/restler/public/examples
und sie arbeiten , also denke ich, dass es mit der Konfiguration von Restler selbst zu tun hat, weil es in http://localhost/myproject/api
nicht zu funktionieren scheint.
Außerdem habe ich auch versucht, den Restler Explorer in http://localhost/myproject/api/explorer
zu kopieren und ich bekomme weiterhin den Fehler: 404 : Not Found ../resources.json
wahrscheinlich, weil ich nicht im Stammordner meines Projekts Restler installiert habe. Wie soll ich Restler in einem anderen Unterordner installieren?
Edit 2: Ich zog die folgende Klasse in dem Beispiel 001 Ordner:
class User {
function data() {
return "HELLO!";
}
}
und hinzugefügt, um diese Zeile innerhalb der index.php
des Beispiels:
$r->addAPIClass('User');
Wenn ich versuche, um das Beispiel bei .../_001_helloworld/index.php/say/hello
laufen zu lassen funktioniert es ohne Probleme, aber wenn ich _001_helloworld/index.php/user/data
versuche, ist es nicht.
An dieser Stelle habe ich jede Hoffnung verloren, und ich Hilfe denn wirklich brauchen wirklich etwas, was ich bin fehlt aber kann es wirklich nicht erraten, was :(HILFE!
Ich folgte den ersten 2 Schritten und das löste das Problem. Danke, ich schätze deine Hilfe wirklich sehr. – siannone
Ich habe ein ähnliches Problem. Es hat gestern alles funktioniert, dann habe ich die 404 Nachricht von Restler bekommen. Keine meiner Webserver-Konfiguration hat sich geändert. Das geht über index.php funktioniert, und so oder ohne index.php erstellt eine Datei routes.php, die in beiden Fällen identisch ist. –
Bitte ignorieren Sie meinen Kommentar; Ich habe die falsche URL verwendet .. Doh –