首頁 > 後端開發 > php教程 > 始終呈現API例外作為JSON在Laravel中

始終呈現API例外作為JSON在Laravel中

Emily Anne Brown
發布: 2025-03-05 16:42:10
原創
697 人瀏覽過

Always Render API Exceptions as JSON in Laravel

>厭倦了自定義中間件,以強迫JSON響應laravel中的API例外嗎? Laravel 11簡化了此過程。 這種方法消除了對這樣的中間件的需求:

>
class ForceJsonResponse
{
    public function handle(Request $request, Closure $next)
    {
        $request->headers->set('Accept', 'application/json');
        return $next($request);
    }
}
登入後複製

現在,您可以在應用程序配置中直接達到相同的結果:>

// 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();
登入後複製
這個簡潔的代碼,利用

的方法,確保API路由(shouldRenderJsonWhen())中的所有例外都被渲染為JSON,而不論api/*Accept header如何。 請記住,您仍然需要處理非錯誤響應,以確保他們還返回JSON。

這個優雅的解決方案直接來自Laravel文檔,有價值的資源為例外節目,錯誤響應定制等提供了進一步的指導。

以上是始終呈現API例外作為JSON在Laravel中的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板