アノテーションインターフェース 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
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などの事前定義アノテーションを使用してください。- デフォルト:
{}