Heim > PHP-Framework > Laravel > Hauptteil

Was ist Dingo in Laravel?

WBOY
Freigeben: 2022-02-23 16:39:39
Original
2694 Leute haben es durchsucht

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“.

Was ist Dingo in Laravel?

Die Betriebsumgebung dieses Artikels: Windows 10-System, Laravel Version 6, Dell G3-Computer.

Was ist Dingo in Laravel?

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!