アノテーションインターフェース RestControllerAdvice
@ControllerAdvice
と @ResponseBody
を組み合わせたショートカットアノテーション。実質的には、例外ハンドラーメソッドがレスポンスボディにレンダリングされる @ControllerAdvice
です。 デフォルトでは、@RestControllerAdvice
は @Controller
および @RestController
を含むすべてのコントローラーに適用されます。より具体的なフィルタリング条件を適用するには、アノテーションの属性を使用します。
詳細については、ControllerAdvice
を参照してください。
- 導入:
- 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
などの事前定義アノテーションを使用してください。- デフォルト:
- {}