Heim > Backend-Entwicklung > PHP-Tutorial > Immer API -Ausnahmen als JSON in Laravel machen

Immer API -Ausnahmen als JSON in Laravel machen

Emily Anne Brown
Freigeben: 2025-03-05 16:42:10
Original
691 Leute haben es durchsucht

Always Render API Exceptions as JSON in Laravel

Müde von benutzerdefinierter Middleware, um JSON -Antworten für API -Ausnahmen in Laravel zu erzwingen? Laravel 11 rationalisiert diesen Prozess. Dieser Ansatz beseitigt die Notwendigkeit von Middleware wie folgt:

class ForceJsonResponse
{
    public function handle(Request $request, Closure $next)
    {
        $request->headers->set('Accept', 'application/json');
        return $next($request);
    }
}
Nach dem Login kopieren

Jetzt können Sie das gleiche Ergebnis direkt in Ihrer Anwendungskonfiguration erzielen:

// bootstrap/app.php

return Application::configure(basePath: dirname(__DIR__))

    //...

    ->withExceptions(function (Exceptions $exceptions) {
        $exceptions->shouldRenderJsonWhen(function (Request $request, Throwable $e) {
            return $request->is('api/*');
        });
    })->create();
Nach dem Login kopieren

Dieser prägnante Code, der die shouldRenderJsonWhen() -Methode nutzt, stellt sicher, dass alle Ausnahmen innerhalb der API -Routen (api/*) als JSON unabhängig vom Accept -Header als JSON gerendert werden. Denken Sie daran, Sie müssen immer noch Nicht-Fehler-Antworten bearbeiten, um zu garantieren, dass sie auch JSON zurückgeben.

Diese elegante Lösung stammt direkt aus der Laravel -Dokumentation, einer wertvollen Ressource, die weitere Anleitungen zum Drosseln der Ausnahme, der Anpassung der Fehlerantwort und mehr.

bietet.

Das obige ist der detaillierte Inhalt vonImmer API -Ausnahmen als JSON in Laravel machen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage