Wie baue ich eine REST -API mit Laravel?
Jul 30, 2025 am 03:41 AMErstellen Sie ein neues Laravel -Projekt und starten Sie den Service. 2. Generieren Sie das Modell, die Migration und den Controller und führen Sie die Migration aus; 3. Definieren Sie die erholsame Route in Routen/api.php; V. 5. Testen Sie die API -Funktionalit?t mit Postmann oder Curl; 6. Fügen Sie optional die API -Authentifizierung durch Heiligtum hinzu; Erhalten Sie schlie?lich eine klare Struktur, vollst?ndige und erweiterbare Laravel -REST -API, die für praktische Anwendungen geeignet ist.
Der Aufbau einer REST-API mit Laravel ist dank der integrierten Funktionen für Routing, eloquentes ORM und Anfragebedingung unkompliziert. Hier ist ein praktischer Leitfaden, mit dem Sie mit Laravel eine saubere, funktionale REST -API erstellen k?nnen.

1. Richten Sie ein neues Laravel -Projekt ein
Erstellen Sie mit dem Komponisten ein neues Laravel -Projekt:
Komponist erstellen projekt-projekt laravel/laravel api-Demo CD-API-Demo
Starten Sie dann den Entwicklungsserver, um zu best?tigen, dass alles funktioniert:

PHP Artisan Serve
Sie sollten die Laravel -Begrü?ungsseite unter http://localhost:8000
sehen.
2. Erstellen Sie ein Modell, eine Migration und ein Controller
Erstellen wir eine einfache API für die Verwaltung von Beitr?gen . Verwenden Sie den Befehl make:model
mit dem -a
flag, um ein Modell, eine Migration, Fabrik und einen Controller zu generieren:

Php Artisan Make: Model Post -a
Dies schafft:
-
app/Models/Post.php
- Das eloquente Modell -
database/migrations/xxxx_create_posts_table.php
- Die Migration -
app/Http/Controllers/PostController.php
- der Controller -
database/factories/PostFactory.php
- zum Sehen
Bearbeiten Sie die Migrationsdatei, um die Postfelder zu definieren:
// in Datenbank/Migrationen /..._ create_posts_table.php Schema :: Create ('Beitr?ge', Funktion (Blueprint $ Tabelle) { $ table-> id (); $ table-> string ('title'); $ table-> text ('K?rper'); $ table-> timestemps (); });
Führen Sie die Migration aus:
PHP Artisan migrieren
3. Definieren Sie API -Routen
?ffnen Sie routes/api.php
und definieren Sie erholsame Routen mit Route::apiResource()
:
Verwenden Sie App \ http \ controller \ postcontroller; Route :: apireSource ('Beitr?ge', postcontroller :: class);
Diese Routen karten automatisch Standard -REST -Aktionen:
-
GET /api/posts
→ Index -
POST /api/posts
→ Speichern -
GET /api/posts/{id}
→ anzeigen -
PUT/PATCH /api/posts/{id}
→ aktualisieren -
DELETE /api/posts/{id}
→ zerst?ren
Sie k?nnen alle Routen mit:
PHP Artisan Route: Liste -Path = API
4. Implementieren Sie die Controller -Methoden
?ffnen Sie app/Http/Controllers/PostController.php
und füllen Sie die Logik mit eloquent aus.
Verwenden Sie App \ Models \ post; Verwenden Sie Illuminate \ http \ request; Der Nachontroller der Klasse erweitert den Controller { ?ffentlicher Funktionsindex () { return response ()-> json (post :: all ()); } ?ffentlicher Funktionsgesch?ft (Anfrage $ Anfrage) { $ validated = $ request-> validate ([ 'Titel' => 'Erforderlich | String | max: 255', 'K?rper' => 'Erforderlich | String', ]); $ post = post :: create ($ validiert); return response ()-> json ($ post, 201); } ?ffentliche Funktionshow ($ id) { $ post = post :: find ($ id); if (! $ post) { return response ()-> json (['message' => 'post nicht gefunden'], 404); } return response ()-> json ($ post); } ?ffentliche Funktion Update (Anfrage $ Anfrage, $ ID) { $ post = post :: find ($ id); if (! $ post) { return response ()-> json (['message' => 'post nicht gefunden'], 404); } $ validated = $ request-> validate ([ 'Titel' => 'Erforderlich | String | max: 255', 'K?rper' => 'Erforderlich | String', ]); $ post-> update ($ validiert); return response ()-> json ($ post); } ?ffentliche Funktion Zerst?rung ($ id) { $ post = post :: find ($ id); if (! $ post) { return response ()-> json (['message' => 'post nicht gefunden'], 404); } $ post-> delete (); return response ()-> json (['message' => 'post gel?scht']); } }
? Laravel gibt automatisch JSON-Antworten zurück, wenn Sie Daten an
response()->json()
übergeben. Au?erdem werden API -Routen bereits durch CSRF -Nachweise geschützt und verwenden dieapi
Middleware (staatenlos).
5. Testen Sie die API
Verwenden Sie ein Tool wie Postman- , Curl- oder Thunder -Client (VS -Code), um Ihre Endpunkte zu testen.
Beispiel: Erstellen Sie einen Beitrag mit Curl
curl -x post http: // localhost: 8000/api/posts \ -H "Inhaltstyp: application/json" \ -D '{"Titel": "Mein erster Beitrag", "K?rper": "Dies ist der K?rper"} "
Sie sollten eine JSON -Antwort mit dem erstellten Beitrag und einen 201
-Status erhalten.
6. (optional) Fügen Sie die API -Authentifizierung mit Sanctum hinzu
Verwenden Sie für geschützte Routen Laravel Sanctum, um eine tokenbasierte Authentifizierung hinzuzufügen.
Sanctum installieren:
Der Komponist ben?tigt Laravel/Sanctum PHP Artisan Vendor: Publish -Provider = "Laravel \ Sanctum \ SanctumServiceProvider" PHP Artisan migrieren
Fügen Sie die Sanctum Middleware in app/Http/Kernel.php
unter 'api'
hinzu:
'api' => [ \ Laravel \ Sanctum \ http \ Middleware \ scheffeFrontendRequestSarestatul :: Klasse, 'Drosselklappen: API', \ Illuminate \ Routing \ Middleware \ Ersatzbindungen :: Klasse, ],
Schützen Sie Ihre Strecken:
Route :: Middleware ('Auth: Sanctum')-> apireSource ('Beitr?ge', postcontroller :: class);
Jetzt müssen Benutzer sich mit einem Token authentifizieren, um auf die API zuzugreifen.
Letzte Notizen
- Halten Sie die Validierungslogik sauber - Berücksichtigen Sie mit Formularanfragen für komplexe Regeln.
- Verwenden Sie API -Ressourcen (
php artisan make:resource PostResource
), um Antworten zu formatieren. - Gehen Sie immer anmutig mit Fehlern um (zB 404, 422).
- Verwenden Sie die Versionierung (z.
/api/v1/posts
) für langfristige Stabilit?t.
Das war's. Sie haben jetzt eine voll funktionsf?hige REST -API mit Laravel. Es ist sauber, skalierbar und bereit für die reale Verwendung.
Das obige ist der detaillierte Inhalt vonWie baue ich eine REST -API mit Laravel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen





1. Die erste Wahl für die Kombination aus Laravel Mysql Vue/React in der PHP -Entwicklungsfrage und der Antwortgemeinschaft ist die erste Wahl für die Kombination aus Laravel Mysql Vue/React aufgrund ihrer Reife im ?kosystem und der hohen Entwicklungseffizienz; 2. Die hohe Leistung erfordert Abh?ngigkeit von Cache (REDIS), Datenbankoptimierung, CDN und asynchronen Warteschlangen; 3. Die Sicherheit muss mit Eingabefilterung, CSRF -Schutz, HTTPS, Kennwortverschlüsselung und Berechtigungssteuerung erfolgen. V.

Dieser Artikel zielt darauf ab, gemeinsame Fehler im Laravel -Framework zu beheben, in dem das übergeben von Routing -Parametern Controller -Methoden entspricht. Wir erl?utern ausführlich, warum das direkte Schreiben von Parametern direkt in den Namen der Controller -Methode in der Routing -Definition zu einem Fehler "der Methode ist nicht vorhanden" führt und die korrekte Routing -Definitionsyntax bereitstellt, um sicherzustellen, dass der Controller die Routing -Parameter korrekt empfangen und verarbeiten kann. Darüber hinaus wird der Artikel Best Practices für die Verwendung von HTTPDelete -Methoden in L?schvorg?ngen untersuchen.

Dieser Artikel zielt darauf ab, zu l?sen, wie mit Modellpfaden effizient und sicher auf tiefe Eigenschaften zugegriffen werden kann, wenn Daten in Laravellivewire -Komponenten dynamisch rendern. Wenn Sie spezifische Felder des zugeh?rigen Modells basierend auf einer Konfigurationszeichenfolge (z. B. "user.name") erhalten müssen, greift auf Objekteigenschaften auf. In dem Artikel wird die Data_Get -Helferfunktion von Laravel im Detail vorgestellt und Code -Beispiele bereitgestellt, um anzuzeigen, wie es verwendet wird, um dieses Problem anmutig zu l?sen und die Flexibilit?t und Robustheit der Datenerfassung zu gew?hrleisten.

Bei der Auswahl eines geeigneten PHP -Frameworks müssen Sie nach den Projektanforderungen umfassend berücksichtigen: Laravel ist für die schnelle Entwicklung geeignet und bietet eloquentorm- und Blade -Vorlagenmotoren, die für den Datenbankbetrieb und das dynamische Formrending bequem sind. Symfony ist flexibler und für komplexe Systeme geeignet. CodeIgniter ist leicht und für einfache Anwendungen mit hohen Leistungsanforderungen geeignet. 2. Um die Genauigkeit von KI-Modellen sicherzustellen, müssen wir mit einem qualitativ hochwertigen Datentraining, einer angemessenen Auswahl von Bewertungsindikatoren (wie Genauigkeit, Rückruf, F1-Wert), regelm??iger Leistungsbewertung und Modellabstimmung und sicherstellen, dass die Codequalit?t durch Testen und Integrationstests der Code sichergestellt wird, um die Eingabedaten kontinuierlich zu überwachen. 3.. Viele Ma?nahmen sind erforderlich, um die Privatsph?re der Benutzer zu schützen: Verschlüsseln und speichern sensible Daten (wie AES

Es gibt drei Hauptmethoden, um Umgebungsvariablen in PHP festzulegen: 1. Globale Konfiguration über php.ini; 2. durch einen Webserver (z. B. SetEnv von Apache oder FastCGI_Param von Nginx); 3. Verwenden Sie die Funktion Putenv () in PHP -Skripten. Unter ihnen eignet sich Php.ini für globale und selten ?ndernde Konfigurationen. Die Webserverkonfiguration eignet sich für Szenarien, die isoliert werden müssen, und Putenv () ist für tempor?re Variablen geeignet. Die Persistenz -Richtlinien umfassen Konfigurationsdateien (z. B. Php.ini oder Webserverkonfiguration), .env -Dateien werden mit der DOTENV -Bibliothek und dynamische Injektion von Variablen in CI/CD -Prozessen geladen. Sicherheitsmanagement sensible Informationen sollten hart codiert werden, und es wird empfohlen.

Um PHP -Container zur Unterstützung der automatischen Konstruktion zu erm?glichen, liegt der Kern in der Konfiguration des Continuous Integration (CI) -Prozesses. 1. Verwenden Sie Dockerfile, um die PHP -Umgebung zu definieren, einschlie?lich grundlegender Bild-, Erweiterungsinstallations-, Abh?ngigkeitsmanagement- und Berechtigungseinstellungen. 2. Konfigurieren Sie CI/CD-Tools wie GitLabci und definieren Sie die Erstell-, Test- und Bereitstellungsstadien über die Datei .gitlab-ci.yml, um automatische Konstruktion, Test und Bereitstellung zu erreichen. 3.. Integrieren Sie Testframeworks wie Phpunit, um sicherzustellen, dass die Tests automatisch nach Code?nderungen ausgeführt werden. 4. Verwenden Sie automatisierte Bereitstellungsstrategien wie Kubernetes, um die Bereitstellungskonfiguration durch die Datei bereitzustellen. 5. Dockerfile optimieren und mehrstufige Konstruktionen übernehmen

In diesem Artikel wird die korrekte übertragung von Routing -Parametern und den übereinstimmungsmechanismus von Controller -Methoden im Laravel -Framework tief untersucht. Als Antwort auf die gemeinsame "Methode existieren nicht" Fehler, die durch das Schreiben von Routing -Parametern direkt in den Namen Controller -Methode verursacht wird, erl?utert der Artikel auf der richtigen Art und Weise, die Routing zu definieren, dh die Parameter in der URI und empfangen sie als unabh?ngige Parameter in der Controller -Methode. Gleichzeitig enth?lt der Artikel auch Codebeispiele und Vorschl?ge zu Best Practices für HTTP -Methoden, um Entwicklern zu helfen, robustere und erholsamere Laravel -Anwendungen aufzubauen.

In diesem Artikel wird die korrekte Haltung der Parameterübertragung der Controller -Methode in Laravel -Routing eingehalten. Als Reaktion auf h?ufiges Fehler, das durch das Schreiben von Routing -Parametern direkt in den Namen Controller -Methode verursacht wird, wird die korrekte Routing -Definitionsyntax ausführlich erl?utert, und der Mechanismus der automatischen Parameterbindung von Laravel wird hervorgehoben. Gleichzeitig empfiehlt der Artikel die Verwendung der HTTPDelete -Methode, die eher den erholsamen Spezifikationen entspricht, um L?schvorg?nge zu verarbeiten, um die Wartbarkeit und Semantik der Anwendung zu verbessern.
