
LaravelでAPI例外のためにJSON応答を強制するためにカスタムミドルウェアにうんざりしていませんか? Laravel11はこのプロセスを合理化します。 このアプローチは、このようなミドルウェアの必要性を排除します:
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();)内のすべての例外がJSONとしてレンダリングされることを保証します。 覚えておいてください、あなたは彼らがJSONも返すことを保証するために非誤差反応を処理する必要があります。
このエレガントなソリューションは、Laravelドキュメントから直接、例外のスロットリング、エラー応答のカスタマイズなどに関するさらなるガイダンスを提供する貴重なリソースからのものです。
以上がLaravelのJSONとして常にAPIの例外をレンダリングしてくださいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。