In Laravel ist Dingo ein API-Entwicklungs-Toolkit für Laravel- und Lumen-Frameworks. Es verfügt hauptsächlich über drei Funktionen: Routing-Versionsverwaltung, Ausnahmebehandlung „Http Exception“ und Konvertierungsantwortformat „Response Transform“.
Die Betriebsumgebung dieses Artikels: Windows 10-System, Laravel Version 6, Dell G3-Computer.
Dingo ist ein API-Entwicklungs-Toolkit für Laravel und das Lumen-Framework.
Wenn man sich das Dokumentverzeichnis ansieht, dreht es sich basierend auf der API-Spezifikation um drei Hauptfunktionen:
Routing-Versionsverwaltung
Http-Ausnahmebehandlung
Response Transform-Konvertierungs-Antwortformat.
dingoa pi ist ein Open-Source-Plugin von Laravel, das auf Github durchsucht werden kann. Im Projekt wird es immer eine Back-End- und Front-End-JSON-Dateninteraktion geben, und dieses Dingoapi bietet großen Komfort für die JSON-Interaktion .
Routing-Versionskontrolle
1. Verwandte Konfigurationen
1 API-Dienst deklarieren
API-Spezifikationsanforderungen, Schnittstellenentwicklung entweder mit API-Präfix (http://XXX.com/api/xxx) oder Es handelt sich um einen Subdomain-Namen (http://api.XXX.com/xxx). Durch eine solche Identifizierung bedeutet dies, dass die Anfrage für den API-Schnittstellendienst gilt.
Also muss entweder API_PREFIX=api oder API_DOMAIN=api.myapp.com festgelegt werden.
.env-Optionen, die möglicherweise konfiguriert werden müssen
Natürlich ist seine Rolle nicht nur eine Kennung. Wir wissen, dass Dingo-Routing und Laravel-Routing nebeneinander existieren, und Dingo bestimmt es durch diese Funktion.
2 Versionskontrolle
Dingo bietet einen eigenen Routing-Dienst. Wenn auf http://XXX.com/api/xxx oder http://api.XXX.com/xxx zugegriffen wird, gilt dies als API-Anfrage. Der Dingo-Routing-Dienst DingoApiRoutingRouter wird den Routing-Dienst IlluminateRoutingRouter übernehmen, der mit Laravel geliefert wird (über die Übernahme werde ich später sprechen). Er verfügt auch über get(), post(), match(), group(). ... Methoden, was einem anderen Satz von Routing-Systemen entspricht.
Wenn Laravel Versionen unterscheidet, müssen Sie möglicherweise ein v1-Präfix angeben, z. B. http://XXX.com/api/v1 oder http://XXX.com/api/v2. Und Dingo wird über den Header Accept verarbeitet. Sein Format ist Accept: application/vnd.YOUR_SUBTYPE.v1+json. Das bedeutet, dass Sie für den Zugriff einen Accept-Request-Header senden müssen.
In der Konfigurationsdatei ist dieser Modus standardmäßig nicht obligatorisch, API_STRICT=false, aber Sie können nur auf die Standardversion in der Konfigurationsdatei zugreifen, 'version' => env('API_VERSION', 'v1'),.
Wenn auf true gesetzt, d. h. der strikte Modus aktiviert ist, muss der Accept-Header gesendet werden und auf Ihre API kann nicht direkt über den Browser zugegriffen werden.
.env-Optionen, die möglicherweise konfiguriert werden müssen
API_STRICT=true //Um den strikten Modus zu aktivieren, müssen Sie die Accept-Header-Informationen unabhängig von v1 oder v2 mitbringen
API_VERSION=v1 //Die Standardversionsnummer, wenn nein Versionsnummer wird deklariert
Wenn der strikte Modus aktiviert ist
Es gibt mehrere Optionen für das Accept-Attribut des Headers:
Accept: application/vnd.YOUR_SUBTYPE.v1+json
API_STANDARDS_TREE=x,prs,vnd Standards Tree Standards Tree
API_SUBTYPE=myapp sub Type: Kurzname des Programms oder Projekts
v1: Versionsnummer
json: zurückgegebenes Format, kann auch jsonp sein
.env-Optionen, die möglicherweise konfiguriert werden müssen
API_STANDARDS_TREE =prs
API_SUBTYPE=lara
API_DEFAULT_FORMAT= json //Default
[Verwandte Empfehlungen: Laravel-Video-Tutorial]
Das obige ist der detaillierte Inhalt vonWas ist Dingo in Laravel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!