Tutorial · Laravel · 28.11.2025

Beispiel für eine API-Anwendung in Laravel

Hier ist ein einfaches Beispiel für eine API-Anwendung in Laravel

Schritt 1: Laravel Installation

Zuerst installieren wir Laravel über Composer. Composer ist ein Paketmanager für PHP, der die Verwaltung von Abhängigkeiten in deinem Projekt ermöglicht. Öffne deine Kommandozeile und führe den folgenden Befehl aus, um ein neues Laravel-Projekt zu erstellen:
shell
composer create-project --prefer-dist laravel/laravel example-api
Dadurch wird ein neues Laravel-Projekt mit dem Namen example-api im aktuellen Verzeichnis erstellt.

Schritt 2: Datenbankkonfiguration

Navigiere in das Verzeichnis deines neuen Laravel-Projekts:
php
cd example-api
Öffne die Datei .env und konfiguriere deine Datenbankverbindung, indem du die entsprechenden Felder wie DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME und DB_PASSWORD anpasst.

Schritt 3: Erstellung einer Migration

Laravel verwendet Migrations, um Datenbanktabellen zu verwalten. Führe den folgenden Befehl aus, um eine Migration für deine Produkte-Tabelle zu erstellen:
shell
php artisan make:migration create_products_table
Dieser Befehl erstellt eine neue Migrationsdatei im Verzeichnis database/migrations. Öffne die erstellte Migrationsdatei und definiere die Tabellenstruktur für deine Produkte-Tabelle, einschließlich aller benötigten Felder wie Name, Beschreibung, Preis usw.

Schritt 4: Ausführen der Migration

Führe die Migration aus, um die Produkte-Tabelle in deiner Datenbank zu erstellen:
shell
php artisan migrate
Dadurch wird deine Datenbank entsprechend der definierten Migration aktualisiert.

Schritt 5: Erstellung des Models

Erstelle ein Model für dein Produkt:
shell
php artisan make:model Product
Dieser Befehl erstellt ein neues Model im Verzeichnis app/Models.

Schritt 6: Erstellung der Routen

Definiere die Routen für deine API im routes/api.php-File. Die Routen steuern den Zugriff auf verschiedene Endpunkte deiner API.

Schritt 7: Erstellung des Controllers

Erstelle einen Controller, der die Logik für die verschiedenen API-Endpunkte enthält:
shell
php artisan make:controller ProductController
Dieser Befehl erstellt einen neuen Controller im Verzeichnis app/Http/Controllers.

Schritt 8: Implementierung der Controller-Methoden

Implementiere die Logik für die verschiedenen Controller-Methoden wie index, store, show, update und destroy. Diese Methoden sind für die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) der Produkte zuständi
blade
<?php

namespace App\Http\Controllers;

use App\Models\Product;
use Illuminate\Http\Request;
use Illuminate\Http\Response;

class ProductController extends Controller
{
    /**
     * Alle Produkte abrufen.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $products = Product::all();
        return response()->json($products, 200);
    }

    /**
     * Ein neues Produkt erstellen.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $request->validate([
            'name' => 'required|string',
            'description' => 'required|string',
            'price' => 'required|numeric',
        ]);

        $product = Product::create($request->all());
        return response()->json($product, 201);
    }

    /**
     * Ein bestimmtes Produkt anzeigen.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        $product = Product::findOrFail($id);
        return response()->json($product, 200);
    }

    /**
     * Ein Produkt aktualisieren.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        $request->validate([
            'name' => 'required|string',
            'description' => 'required|string',
            'price' => 'required|numeric',
        ]);

        $product = Product::findOrFail($id);
        $product->update($request->all());
        return response()->json($product, 200);
    }

    /**
     * Ein Produkt löschen.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        $product = Product::findOrFail($id);
        $product->delete();
        return response()->json(null, 204);
    }
}
In diesem Code werden die CRUD-Operationen für die Produktressourcen implementiert: index: Rückgabe aller Produkte. store: Erstellung eines neuen Produkts. show: Anzeige eines bestimmten Produkts anhand seiner ID. update: Aktualisierung eines vorhandenen Produkts. destroy: Löschen eines vorhandenen Produkts.

Info

Diese Methoden verwenden die Eloquent-Methoden von Laravel, um mit der Datenbank zu interagieren, und geben JSON-Antworten entsprechend den HTTP-Statuscodes zurück. Außerdem werden die Eingaben mit Laravel-Validierungsregeln überprüft, um sicherzustellen, dass die Daten korrekt sind.

Schritt 9: Testen der API

Teste deine API, indem du Anfragen an die definierten Endpunkte sendest. Du kannst Tools wie Postman oder cURL verwenden, um HTTP-Anfragen an deine API zu senden und die Antworten zu überprüfen.
Quelle: https://birdapi.de/blog/tutorials-laravel/beispiel-fur-eine-api-anwendung-in-laravel