SpringBoot - BasicErrorController
11379 ワード
BasicErrorController
BasiceErrorControllerは、次の情報をモデルに入れてビューに渡します.ビューテンプレートは、これらの値を使用して出力できます.
timestampSun Aug 16 00:00:00 KST 2021status400errorBad Requestexceptionorg.springframework.validation.BindExceptiontrace異常traceMessageValidation for Object="data"に失敗しました.Error count:1 errorsErrors(BindResult)パスクライアント要求パス("/hello")
ただし、これらのエラーに関連する内部情報をクライアントに暴露するべきではありません.
したがって、BasicErrorControllerは、モデルに次のエラーメッセージを含めるかどうかを選択できます.
application.yml
server:
error:
whitelabel:
enabled: false
include-exception: false
include-message: never
include-stacktrace: never
include-binding-errors: never
never:無効常に:常に使用
on param:パラメータが存在する場合に使用
on paramパラメータがある場合、この情報が表示されます.デバッグ時に問題を確認できます.ただし、この部分は開発サーバでも使用できますが、本番サーバでの使用は推奨されません.
これをon paramに設定し、HTTPリクエスト時にパラメータを渡すと、これらの情報はモデルに含まれ、ビューテンプレートから出力されます.
message=&errors=&trace=
エラーメッセージ500を追加します。html
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
</head>
<body>
<div class="container" style="max-width: 600px">
<div class="py-5 text-center">
<h2>500 오류 화면 스프링 부트 제공</h2>
</div>
<div>
<p>오류 화면 입니다.</p>
</div>
<ul>
<li>오류 정보</li>
<ul>
<li th:text="|timestamp: ${timestamp}|"></li>
<li th:text="|path: ${path}|"></li>
<li th:text="|status: ${status}|"></li>
<li th:text="|message: ${message}|"></li>
<li th:text="|error: ${error}|"></li>
<li th:text="|exception: ${exception}|"></li>
<li th:text="|erros: ${errors}|"></li>
<li th:text="|trace: ${trace}|"></li>
</ul>
</ul>
<hr class="my-4"/>
</div>
</body>
</html>
結果
スプリング起動エラーに関するオプション
拡張点
エラー汎用処理コントローラの機能を変更する場合は、エラーコントローラインタフェースを継承して実装するか、基本エラーコントローラ追加機能を継承します.
Reference
この問題について(SpringBoot - BasicErrorController), 我々は、より多くの情報をここで見つけました https://velog.io/@hyun6ik/SpringBoot-BasicErrorControllerテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol