@TargetSE(valueSE=TYPESE) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE @ControllerAdvice @ResponseBody public @interface RestControllerAdvice
@ControllerAdvice
および @ResponseBody
でアノテーションが付けられている便利なアノテーション。 このアノテーションを持つ型は、@ExceptionHandler
メソッドがデフォルトで @ResponseBody
セマンティクスを想定するコントローラーアドバイスとして扱われます。
注意 : @RestControllerAdvice
は、MVCJava 構成および MVC 名前空間のデフォルトである RequestMappingHandlerMapping
-RequestMappingHandlerAdapter
ペアなどの適切な HandlerMapping
-HandlerAdapter
ペアが構成されている場合に処理されます。
RestController
, ControllerAdvice
修飾子と型 | オプションの要素と説明 |
---|---|
ClassSE<? extends AnnotationSE>[] | annotations アノテーションの配列。 |
ClassSE<?>[] | assignableTypes クラスの配列。 |
ClassSE<?>[] | basePackageClasses @RestControllerAdvice アノテーション付きクラスによって通知されるコントローラーを選択するパッケージを指定するための、basePackages() の型安全な代替。 |
StringSE[] | basePackages 基本パッケージの配列。 |
StringSE[] | value basePackages() 属性のエイリアス。 |
@AliasFor(annotation=ControllerAdvice.class) public abstract StringSE[] value
basePackages()
属性のエイリアス。 より簡潔なアノテーション宣言を可能にします。— たとえば、@RestControllerAdvice("org.my.pkg")
は @RestControllerAdvice(basePackages = "org.my.pkg")
と同等です。
basePackages()
@AliasFor(annotation=ControllerAdvice.class) public abstract StringSE[] basePackages
これらの基本パッケージまたはそのサブパッケージに属するコントローラーが含まれます。たとえば、@RestControllerAdvice(basePackages = "org.my.pkg")
または @RestControllerAdvice(basePackages = {"org.my.pkg", "org.my.other.pkg"})
です。
value()
はこの属性のエイリアスであり、アノテーションをより簡潔に使用できるようにします。
文字列ベースのパッケージ名の型安全な代替として basePackageClasses()
を使用することも検討してください。
@AliasFor(annotation=ControllerAdvice.class) public abstract ClassSE<?>[] basePackageClasses
@RestControllerAdvice
アノテーション付きクラスによって通知されるコントローラーを選択するパッケージを指定するための、basePackages()
の型安全な代替。この属性によって参照される以外の目的を果たさない特別なノーオペレーションマーカークラスまたはインターフェースを各パッケージに作成することを検討してください。
@AliasFor(annotation=ControllerAdvice.class) public abstract ClassSE<?>[] assignableTypes
指定された型の少なくとも 1 つに割り当て可能なコントローラーは、@RestControllerAdvice
アノテーション付きクラスによって通知されます。
@AliasFor(annotation=ControllerAdvice.class) public abstract ClassSE<? extends AnnotationSE>[] annotations
提供されたアノテーション型の少なくとも 1 つでアノテーションが付けられたコントローラーは、@RestControllerAdvice
アノテーション付きクラスによって通知されます。
カスタム構成アノテーションの作成を検討するか、@RestController
などの事前定義アノテーションを使用してください。