Symfony 5 プロジェクトのカスタム 404 ページを作成しようとしています。
- 「見つかりません」のような単純な JSON エンコード文字列を出力します。
- この文字列は、翻訳リソースから読み取る必要があります。
- 追加の
Content-Type: application/json
ヘッダーがあります。
Symfony のドキュメントには、これを実現する方法を説明しようとするセクションがありますが、情報は不完全/間違っているようで、明らかに 4.X バージョン用に書かれており、GitHub に存在しないソース ファイルを指していることさえあります。
エラーコントローラーを作成できましたが、すべてのエラーを飲み込みます。
# config/packages/framework.yaml
framework:
error_controller: App\Controller\ErrorController::errorHandler
// src/Controller/ErrorController.php
class ErrorController extends AbstractController
{
public function errorHandler(TranslatorInterface $translator) : JsonResponse
{
return new JsonResponse($translator->trans('not_found'));
}
}
問題は、これによりエラー (内部エラーを含む) が発生し、404 ページが返されることです。
このコントローラー/メソッドで 404 エラーのみを処理し、他のすべてをフレームワーク自体で以前と同じように処理するようにするにはどうすればよいですか?