Heim > PHP-Framework > Laravel > Sorgen Sie dafür, dass die Laravel-API immer JSON-formatierte Antworten zurückgibt

Sorgen Sie dafür, dass die Laravel-API immer JSON-formatierte Antworten zurückgibt

藏色散人
Freigeben: 2020-04-11 11:53:29
nach vorne
5741 Leute haben es durchsucht

Sorgen Sie dafür, dass die Laravel-API immer JSON-formatierte Antworten zurückgibt

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;
    }
}
Nach dem Login kopieren

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()
);
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage