アノテーションインターフェース RestControllerAdvice


@ControllerAdvice および @ResponseBody でアノテーションが付けられている便利なアノテーション。

このアノテーションを持つ型は、@ExceptionHandler メソッドがデフォルトで @ResponseBody セマンティクスを想定するコントローラーアドバイスとして扱われます。

注意 @RestControllerAdvice は、MVCJava 構成および MVC 名前空間のデフォルトである RequestMappingHandlerMapping-RequestMappingHandlerAdapter ペアなどの適切な HandlerMapping-HandlerAdapter ペアが構成されている場合に処理されます。

導入:
4.3
作成者:
Rossen Stoyanchev, Sam Brannen
関連事項:
  • 要素の詳細

    • name

      ControllerAdvice.name() のエイリアス。
      導入:
      6.1
      デフォルト:
      ""
    • value

      basePackages() 属性のエイリアス。

      より簡潔なアノテーション宣言を可能にします。— たとえば、@RestControllerAdvice("org.my.pkg") は @RestControllerAdvice(basePackages = "org.my.pkg") と同等です。

      関連事項:
      デフォルト:
      {}
    • basePackages

      基本パッケージの配列。

      これらの基本パッケージまたはそのサブパッケージに属するコントローラーが含まれます。たとえば、@RestControllerAdvice(basePackages = "org.my.pkg") または @RestControllerAdvice(basePackages = {"org.my.pkg", "org.my.other.pkg"}) です。

      value() はこの属性のエイリアスであり、アノテーションをより簡潔に使用できるようにします。

      文字列ベースのパッケージ名の型安全な代替として basePackageClasses() を使用することも検討してください。

      デフォルト:
      {}
    • basePackageClasses

      @RestControllerAdvice アノテーション付きクラスによって通知されるコントローラーを選択するパッケージを指定するための、basePackages() の型安全な代替。

      この属性によって参照される以外の目的を果たさない特別なノーオペレーションマーカークラスまたはインターフェースを各パッケージに作成することを検討してください。

      デフォルト:
      {}
    • assignableTypes

      クラスの配列。

      指定された型の少なくとも 1 つに割り当て可能なコントローラーは、@RestControllerAdvice アノテーション付きクラスによって通知されます。

      デフォルト:
      {}
    • annotations

      アノテーションの配列。

      提供されたアノテーション型の少なくとも 1 つでアノテーションが付けられたコントローラーは、@RestControllerAdvice アノテーション付きクラスによって通知されます。

      カスタム構成アノテーションの作成を検討するか、@RestController などの事前定義アノテーションを使用してください。

      デフォルト:
      {}