Annotation Interface FrameworkRestController


@Target(TYPE) @Retention(RUNTIME) @Documented @ResponseBody public @interface FrameworkRestController
Indicates that an annotated class is a "Framework REST Controller" (default RESTful controller).

This means that if EnableFrameworkRestControllers or EnableAllFrameworkControllers is included in the application configuration then classes annotated with FrameworkRestController will be component scanned and included in the application context and that FrameworkMappings will be added to handler mappings with a lower priority than RequestMappings found within a class annotated with RestController. This priority is achieved through FrameworkControllerHandlerMapping having a higher order value than RequestMappingHandlerMapping.

The intention is that you are able to specify RESTful controllers and mappings within a framework module as the default REST endpoints and a client application can essentially override those mappings without causing an ambiguous mapping exception.

The site handler mappings in play in order of precedence from highest to lowest are:

  1. RequestMappingHandlerMapping
  2. FrameworkControllerHandlerMapping

The admin handler mappings in play in order of precedence from highest to lowest are:

  1. AdminRequestMappingHandlerMapping
  2. FrameworkControllerHandlerMapping
  3. AdminControllerHandlerMapping
Since:
5.2
Author:
Philip Baggett (pbaggett)
See Also: