In diesem Tutorial werden wir eine Open-Source-Bibliothek für den Aufbau unserer nächsten API mit Laravel verwenden.
Für wen ist das?
Entwickler, die täglich APIs erstellen und entwickeln, müssen jedes Mal mehrere Schritte wiederholen und durchlaufen, um die Dinge einzurichten. Diese Boilerplate wird sie definitiv entlasten und ihnen helfen, mit der Entwicklung wie ein Kinderspiel fortzufahren.
Neue Laravel-API erstellen
Für dieses kurze Tutorial werden wir eine einfache Boilerplate für die Entwicklung von Laravel API verwenden.
Dieses Paket baut auf dem folgenden auf
Erstellen Sie eine neue Laravel-API-Boilerplate, indem Sie den folgenden Befehl in Ihrem Projektverzeichnis verwenden
Lesen Sie auch: Standardisierung von API-Antworten in Laravel
composer create-project usamamuneerchaudhary/laravel-api-boilerplate twt-api
Es wird eine einfache Boilerplate-Anwendung erstellt und eingerichtet twt-api
für Sie vorinstalliert mit einigen grundlegenden Abhängigkeiten und einer Codebasis, die Sie für den Betrieb benötigen.
Das Einrichten des Projekts ist einfacher, folgen Sie einfach der README.md
datei.
Eintauchen
Wechseln wir nun in unser Projektverzeichnis und sehen uns an, was wir hier haben.
Diese API-Boilerplate wird mit dem folgenden vorgefertigten Setup geliefert
- Laravel Passport für die Authentifizierung
- Wrapper für benutzerdefinierte Rollen und Berechtigungen
- CORS-Middleware
- CRUD-Gerüst
- Gebrauchsfertige Auth-Controller
- Einsatzbereite Custom Validations
- Gebrauchsfertige Custom Auth Notifications
- Benutzerdefinierte Firewall
- Kompletter Satz von Auth Endpoints
- und viele mehr.
Verzeichnis-Strukturen
Alle Ihre controllers
, notifications
, requests
sind in einem Namensraum unter API
gefolgt von dem Modulordner. Zum Beispiel, im Fall von Auth
, alle Dateien müssen sich innerhalb von API\Auth
Verzeichnis. Es liegt ganz bei Ihnen, ob Sie diese Konvention befolgen wollen oder nicht.
Benachrichtigungen
Auth
Um Ihnen die Arbeit zu erleichtern, wurden bereits Benachrichtigungen eingerichtet. Sie finden diese unter App\Notifications\API\Auth
Namespace. Derzeit gibt es folgende Benachrichtigungen für das Auth-Modul.
- Benutzer-Registrierung
- Passwort zurücksetzen
Sie können die Nachrichten nach Ihren Wünschen ändern.
CRUD-Gerüst
Ein einfaches CRUD-Scaffolding-Paket ist in dieser Boilerplate bereits integriert. Es spart Ihnen eine Menge Zeit bei der Erstellung von Dateien. Dieses Paket kommt mit einem benutzerdefinierten php artisan
Befehle zur Erstellung verschiedener Ressourcen.
Stellen Sie sicher, dass Sie die Konfiguration der Bibliothek veröffentlichen
php artisan vendor:publish --tag=laravel-crud-scaffold
Wenn Sie z. B. ein Modell einrichten möchten, können Sie wie folgt vorgehen
php artisan mbt:scaffold Model
Dieser Befehl generiert die folgenden Dateien für Sie im Handumdrehen.
Rollen und Berechtigungen
Diese Boilerplate verwendet einen einfachen Wrapper für die Verwaltung von Rollen und Berechtigungen für Ihre Laravel-API.
Lesen Sie mehr über die Einrichtung von Rollen und Berechtigungen in Laravel
Endpunkte erstellen
Sie können Ihre benutzerdefinierten Endpunkte erstellen in routes/api.php
unter auth:api
Middleware-Gruppe.
Umgang mit CORS
Diese Boilerplate-API kommt mit einer CORS-Paket, um Ihre Sorgen zu lindern. Verwenden Sie einfach die CORS-Middleware auf den erforderlichen Routen, wo dies erforderlich ist.
Standard-Endpunkte
- Anmeldung:
POST api/v1/login
- Register:
POST api/v1/register
- Wiederherstellen
POST api/v1/recover
- Zurücksetzen
POST api/v1/reset
- Reset-Token finden
GET api/v1/reset/{token}
- Abmeldung
GET api/v1/logout
- E-Mail verifizieren
api/v1/user/verify/email/{token}
Sie können die API
Routenpräfix in RouteServiceProvider.php
if erforderlich. Derzeit ist sie auf api/v1
Beginn der Erstellung von APIs
Nun, das war's für dieses Tutorial. Sie können mit dem Aufbau Ihrer API der nächsten Generation unter Verwendung dieser Boilerplate beginnen. Wenn Sie irgendwelche Rückmeldungen oder Verbesserungsvorschläge haben, können Sie diese gerne im Kommentarbereich mitteilen.