アノテーションインターフェース RestControllerAdvice
@ControllerAdvice
および @ResponseBody
でアノテーションが付けられている便利なアノテーション。 このアノテーションを持つ型は、@ExceptionHandler
メソッドがデフォルトで @ResponseBody
セマンティクスを想定するコントローラーアドバイスとして扱われます。
注意 : @RestControllerAdvice
は、MVCJava 構成および MVC 名前空間のデフォルトである RequestMappingHandlerMapping
-RequestMappingHandlerAdapter
ペアなどの適切な HandlerMapping
-HandlerAdapter
ペアが構成されている場合に処理されます。
- 導入:
- 4.3
- 作成者:
- Rossen Stoyanchev, Sam Brannen
- 関連事項:
オプション要素のサマリー
修飾子と型オプションの要素説明ClassSE<? extends AnnotationSE>[]
アノテーションの配列。ClassSE<?>[]
クラスの配列。ClassSE<?>[]
@RestControllerAdvice
アノテーション付きクラスによって通知されるコントローラーを選択するパッケージを指定するための、basePackages()
の型安全な代替。StringSE[]
基本パッケージの配列。ControllerAdvice.name()
のエイリアス。StringSE[]
basePackages()
属性のエイリアス。
要素の詳細
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
などの事前定義アノテーションを使用してください。- デフォルト:
- {}