Ich versuche, eine REST-API in einer erweiterten Yii2-Anwendung für die Verwaltung einfacher Abfragen an meine Datenbank zu erstellen. Befolgen Sie einige Tutorials, erstellen Sie Schritt für Schritt das Beispiel in der Anleitung, im Schnellstart, und lassen Sie mein Modell für GET- und HEAD-Methoden arbeiten.Yii2 REST geben eine 405 auf POST, PUT, etc
Erstellt meinen API Service innerhalb eines Moduls, richtig gesetzt, mit minimalen Einstellungen, Anfrage JSON Parser auf Backend/main.php, registriert das Modul in common/main.php und erstellt die Regel in urlManager auch dort (unter dem minimalen üblichen Regeln, enablePrettyUrl, controller/action, ...):
['class' => 'yii\rest\UrlRule', 'controller' => ['precapi']]
Aber immer, wenn ich ein paar andere Methoden versucht, über CURL oder Postman REST-Client, es gibt mir immer einen Fehler:
Method Not Allowed. This url can only handle the following request methods: GET, HEAD.
Ich denke ich h Ich habe schon so viele verschiedene Konfigurationen und Wege versucht, um es zu lösen, aber ohne Ergebnis. Einzige Sache ist 'enableStrictParsing' => false'
in UrlManager, weil es mir einen 404 Fehler auf einigen URLs gibt, und POST funktioniert nicht mit diesem auch, obwohl die Anwendung wie üblich arbeitet.
Jede Hilfe wird geschätzt. Grüße.
Dank aufgelöst. Ja, es wird von ActiveController abgeleitet. Aber ich glaube, es sollte standardmäßig ohne weitere Methoden funktionieren, wie in der Dokumentation geschrieben. Namespace-App \ Module \ Controller; verwenden Sie yii \ rest \ ActiveController; Klasse DefaultController erweitert ActiveController UND dort nur das Modell aus der Tabelle instanziieren. Will versuchen und es euch wissen lassen. – user3627496
Gleiche Ergebnisse mit dieser Implementierung. Danke trotzdem. – user3627496
Die Idee ist, dass Sie die Implementierung ändern und 'POST' hinzufügen. Ich habe gerade den Standard als Beispiel hinzugefügt – Blizz