Sprache:

Suche

Einstieg in die Erstellung von APIs mit Laravel

  • Teilen:
Einstieg in die Erstellung von APIs mit Laravel

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.

Github Repo

Usama Muneer

Usama Muneer

A web enthusiastic, self-motivated & detail-oriented professional Full-Stack Web Developer from Karachi, Pakistan with experience in developing applications using JavaScript, WordPress & Laravel specifically. Loves to write on different web technologies with an equally useful skill to make some sense out of it.