Wenn Sie eine Laravel-Anwendung schreiben, die ausschließlich für APIs gedacht ist, möchten Sie, dass alle Antworten im JSON-Format vorliegen und nicht, dass beispielsweise Autorisierungsfehler nach /home oder /login umgeleitet werden. Die endgültige Umleitung wird zur Ansicht von InvalidArgumentException: Route [login] ist nicht definiert.
Empfohlenes Tutorial: „Laravel-Tutorial“
Mit der folgenden einfachen Lösung kann Ihre Laravel-Anwendung zunächst im JSON-Format antworten.
Erster Schritt: Schreiben Sie BaseRequest
Zuerst müssen wir ein BaseRequest erstellen, um IlluminateHttpRequest neu zu schreiben und es so zu ändern, dass der JSON-Antwort standardmäßig Priorität eingeräumt wird:
app /Http/Requests/BaseRequest.php
<?php namespace App\Http\Requests; use Illuminate\Http\Request; class BaseRequest extends Request { public function expectsJson() { return true; } public function wantsJson() { return true; } }
Der zweite Schritt besteht darin, BaseRequest zu ersetzen
Ersetzen Sie in der Datei public/index.php IllumiateHttpRequest durch unser BaseRequest . Wie folgt:
$response = $kernel->handle( $request = \App\Http\Requests\BaseRequest::capture() );
Fertig!
Alle Antworten sind jetzt application/json, einschließlich Fehlern und Ausnahmen.
Aus der Community https://learnku.com/laravel/wikis/16069
Das obige ist der detaillierte Inhalt vonSorgen Sie dafür, dass die Laravel-API immer JSON-formatierte Antworten zurückgibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!