カスタムエラーハンドラーを作成するときにエラーの詳細をモデルに渡す方法は?

マグノC

このチュートリアルに基づいて、デフォルトのホワイトラベルを置き換えるカスタムエラーページを作成しました正常に機能しましたが、他の属性をページに渡す必要があるため、ここでgeoandの回答にerror基づいエンドポイントをインターセプトするようにコードを変更しました

これが私の最終的なコードです:

@Controller
public class ErroHandlerController implements ErrorController {

    @Value("${terena.midas.location}")
    private String midasLocation;   

    @RequestMapping("/error")
    public String handleError( Model model ) {
        model.addAttribute( "midasLocation", midasLocation );
        return "error";
    }

    @Override
    public String getErrorPath() {
        return "/error";
    }   

}

コードは変数midasLocationの送信で機能しましたが、パス、ステータス、メッセージなどのエラーの詳細が失われました...どうすればそれらを元に戻すことができますか?

アンドレイ・ダミアン-ブラック

あなたは使用する必要がありますErrorAttributes 「ログインまたはユーザに提示することができるエラー属性へのアクセスを提供します」

見てください:

基本機能:

import org.springframework.boot.web.servlet.error.ErrorAttributes;
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.context.request.WebRequest;

@Controller
public class ErrorHandler implements ErrorController {

   private final ErrorAttributes errorAttributes;

   public ErrorHandler(ErrorAttributes errorAttributes) {
      this.errorAttributes = errorAttributes;
   }

   @GetMapping("/error")
   public String handleError(Model model, WebRequest webRequest) {
      model.addAttribute("midasLocation", "xxx");
      final Throwable error = errorAttributes.getError(webRequest);
      model.addAttribute("exception", error);
      model.addAttribute("message", error == null ? "" : error.getMessage());
      return "error";
   }

   @Override public String getErrorPath() {
      return "/error";
   }

   @GetMapping("/throwErrorForTest")
   public String throwError() {
      throw new RuntimeException("my exception");
   }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

カスタムエラーハンドラーのデフォルトのphpエラーハンドラーにphpエラーを渡します

分類Dev

データベースから詳細をロードするときのカーソルのエラー

分類Dev

ShibbolethIDPカスタムログインハンドラーIDPエラーハンドラーにエラーをスローするための最良の方法

分類Dev

カスタムAndroidライブラリをインポートするときにtransformClassesWithDesugarForDebugビルドエラー

分類Dev

EmberJS:マスター-詳細、詳細のモデルをマスターの配列モデルのアイテムにバインドする方法

分類Dev

phpカスタムエラーハンドラー本番環境でエラーを出力する方法は?

分類Dev

カスタムコンテンツタイプの詳細モードと要約モードで、メディアライブラリピッカーフィールドの2つの個別の代替を作成します

分類Dev

2つの出力を持つモデルでカスタムkerasレイヤーを使用して作成するときにエラーが発生しました

分類Dev

作成後にタスクの詳細を更新するとエラーが発生します-MicrosoftPlanner API

分類Dev

エラー:daskでカスタムクラスのコンストラクターにクライアントオブジェクトを渡すときに、モジュール名「カスタムクラス」がありません

分類Dev

HaskellServantがカスタムデータを認証ハンドラーに渡す

分類Dev

エラーメッセージのみでエラーの詳細を含むビルド前のスクリプトエラーを作成する方法

分類Dev

C#のポリモーフィズムサブクラスの詳細に基づいて配列データベースを作成する方法

分類Dev

エラーの取得:「ValueError:すべてのスカラー値を使用する場合は、ndarrayをpandasデータフレームに変換するときにインデックスを渡す必要があります」

分類Dev

モデルインスタンスを作成または編集するときのDjangoadmin404エラー

分類Dev

AngularJSはデータを$ httpグローバルエラーハンドラーに渡します

分類Dev

例外ハンドラとして `other`を使用してパンダデータフレームでtxtベースのキーワードエクストラクタをより効果的に作成するにはどうすればよいですか?

分類Dev

angle2の異なるモジュール間でカスタムエラーハンドラサービスを使用する方法

分類Dev

TYPO3バックエンドフォームモジュールはフォームを作成するときにエラーを出します

分類Dev

エンティティフレームワークを使用してデータベース内のレコードを更新するときにモデル検証をオーバーライドする方法

分類Dev

例外ハンドラーにデータを渡す方法は?

分類Dev

例外ハンドラーにデータを渡す方法は?

分類Dev

Negroniを使用しているときにカスタムHTTPハンドラーをグローバルに使用できますか、またはリクエストごとにのみ使用できますか?

分類Dev

Expressのデフォルトのエラーハンドラーが読み取り可能ストリームから発行するときにエラーをキャッチするのはなぜですか?

分類Dev

カスタムRestTemplateを作成するときに春ブーツはエラーを取得します

分類Dev

Pythonロギング:json構成ファイルのカスタムハンドラーに引数を渡すことはできますか?

分類Dev

データ型とモナドを作成するときのエラーと混乱

分類Dev

データグリッド行の詳細-行をカスタムコンポーネントに置き換えることはできますか

分類Dev

カスタムEclipseエディターで構文エラーのエラーホバーを作成する方法

Related 関連記事

  1. 1

    カスタムエラーハンドラーのデフォルトのphpエラーハンドラーにphpエラーを渡します

  2. 2

    データベースから詳細をロードするときのカーソルのエラー

  3. 3

    ShibbolethIDPカスタムログインハンドラーIDPエラーハンドラーにエラーをスローするための最良の方法

  4. 4

    カスタムAndroidライブラリをインポートするときにtransformClassesWithDesugarForDebugビルドエラー

  5. 5

    EmberJS:マスター-詳細、詳細のモデルをマスターの配列モデルのアイテムにバインドする方法

  6. 6

    phpカスタムエラーハンドラー本番環境でエラーを出力する方法は?

  7. 7

    カスタムコンテンツタイプの詳細モードと要約モードで、メディアライブラリピッカーフィールドの2つの個別の代替を作成します

  8. 8

    2つの出力を持つモデルでカスタムkerasレイヤーを使用して作成するときにエラーが発生しました

  9. 9

    作成後にタスクの詳細を更新するとエラーが発生します-MicrosoftPlanner API

  10. 10

    エラー:daskでカスタムクラスのコンストラクターにクライアントオブジェクトを渡すときに、モジュール名「カスタムクラス」がありません

  11. 11

    HaskellServantがカスタムデータを認証ハンドラーに渡す

  12. 12

    エラーメッセージのみでエラーの詳細を含むビルド前のスクリプトエラーを作成する方法

  13. 13

    C#のポリモーフィズムサブクラスの詳細に基づいて配列データベースを作成する方法

  14. 14

    エラーの取得:「ValueError:すべてのスカラー値を使用する場合は、ndarrayをpandasデータフレームに変換するときにインデックスを渡す必要があります」

  15. 15

    モデルインスタンスを作成または編集するときのDjangoadmin404エラー

  16. 16

    AngularJSはデータを$ httpグローバルエラーハンドラーに渡します

  17. 17

    例外ハンドラとして `other`を使用してパンダデータフレームでtxtベースのキーワードエクストラクタをより効果的に作成するにはどうすればよいですか?

  18. 18

    angle2の異なるモジュール間でカスタムエラーハンドラサービスを使用する方法

  19. 19

    TYPO3バックエンドフォームモジュールはフォームを作成するときにエラーを出します

  20. 20

    エンティティフレームワークを使用してデータベース内のレコードを更新するときにモデル検証をオーバーライドする方法

  21. 21

    例外ハンドラーにデータを渡す方法は?

  22. 22

    例外ハンドラーにデータを渡す方法は?

  23. 23

    Negroniを使用しているときにカスタムHTTPハンドラーをグローバルに使用できますか、またはリクエストごとにのみ使用できますか?

  24. 24

    Expressのデフォルトのエラーハンドラーが読み取り可能ストリームから発行するときにエラーをキャッチするのはなぜですか?

  25. 25

    カスタムRestTemplateを作成するときに春ブーツはエラーを取得します

  26. 26

    Pythonロギング:json構成ファイルのカスタムハンドラーに引数を渡すことはできますか?

  27. 27

    データ型とモナドを作成するときのエラーと混乱

  28. 28

    データグリッド行の詳細-行をカスタムコンポーネントに置き換えることはできますか

  29. 29

    カスタムEclipseエディターで構文エラーのエラーホバーを作成する方法

ホットタグ

アーカイブ