Heim  >  Artikel  >  PHP-Framework  >  Wie schreibe ich eine API in Laravel?

Wie schreibe ich eine API in Laravel?

PHPz
PHPzOriginal
2023-04-23 09:13:411007Durchsuche

Laravel ist als beliebtes PHP-Framework zur ersten Wahl für Entwickler beim Schreiben von APIs geworden. Mit Laravel können Sie schnell hochwertige APIs schreiben, die bei Unternehmens- und Einzelentwicklern immer beliebter werden.

In diesem Artikel erfahren Sie, wie Sie APIs mit Laravel schreiben. Wir beginnen mit den folgenden Aspekten: API-Erstellung, API-Routing, Controller und API-Tests.

API erstellen

Beim Erstellen einer API müssen Sie die integrierte Middleware und Router von Laravel verwenden. Ab Laravel 5.5 verfügt das Framework über eine integrierte API Resource Controller-Funktion. Mit dieser Funktion können Entwickler Standard-REST-APIs schneller erstellen und die Codekonsistenz aufrechterhalten.

Wie verwende ich den Ressourcencontroller? Führen Sie zunächst den folgenden Befehl in der Befehlszeile aus, um einen neuen Controller zu erstellen:

php artisan make:controller Api/PostController --api

Dadurch wird ein API-Controller namens PostController erstellt, der automatisch erbt Laravel的内置的ResourceController und alle vordefinierten Methoden enthält. Zu diesen Methoden gehören: Indizieren, Anzeigen, Speichern, Aktualisieren und Zerstören.

API-Routing

In Laravel ist das Routing eng mit Controllern gekoppelt, da wir im Routing Controller der obersten Ebene definieren müssen, die API-Anfragen verarbeiten.

Route::prefix('api')->group(function () {
    Route::resource('posts', 'Api\PostController');
});

Diese Route definiert eine URL von „/api/posts“, die zum Betrieb der CRUD-Funktion des Post-Modells verwendet wird.

Controller

In Ressourcencontrollern können wir vordefinierte Funktionen verwenden, um allgemeine Aufgaben zu erledigen. Der folgende Code beginnt beispielsweise mit dem Erstellen und Anhängen des Datei-Uploads eines Beitragsartikels und verschiebt die Dateien aus dem Repository in das öffentliche Verzeichnis:

public function store(Request $request)
{
    $path = $request->file('photo')->store('public/photos');
    
    $post = new Post;
    
    $post->title = $request->input('title');
    $post->description = $request->input('description');
    $post->slug = str_slug($request->input('title'));
    $post->photo = $path;
    
    $post->save();
    
    return new Resource($post);
}

API-Testen

Das Testen einer API ist der Schlüssel, um sicherzustellen, dass ihre Funktionalität ordnungsgemäß funktioniert. Stellen Sie sicher, wann Schreiben Ihrer API Write-Testfälle. Laravel verfügt außerdem über integrierte Framework-Testtools, mit denen Sie Testfälle einfach schreiben können.

Wenn Sie Tests für Ihre API schreiben, können Sie Ihre Controller testen, indem Sie eine HTTP-Anfrage senden und die Antwort überprüfen. Der folgende Code testet beispielsweise, ob der Controller die Liste der Beiträge korrekt abrufen kann:

public function testPostIndex()
{
    $response = $this->json('GET', '/api/posts');
    
    $response->assertStatus(200);
    $response->assertJsonStructure([
        'data' => [
            '*' => [
                'id',
                'title',
                'description',
                'slug',
                'photo',
                'created_at',
                'updated_at'
            ]
        ]
    ]);
}

Fazit

In Laravel ist das Schreiben von APIs sehr einfach. Mit vordefinierten API-Controllern und integrierten Routern können Sie schnell Standard-REST-APIs erstellen. Verwenden Sie das Testtool von Laravel, um Testfälle zu schreiben und zu überprüfen, ob die API-Funktionalität ordnungsgemäß funktioniert. Hervorragende Dokumentation und Community-Unterstützung sind Schlüsselfaktoren, die Laravel zu einem der beliebtesten Frameworks für Entwickler machen.

Das obige ist der detaillierte Inhalt vonWie schreibe ich eine API in Laravel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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