Annotation Interface EndpointExtension
Annotation primarily used as a meta-annotation to indicate that an annotation provides
extension support for an endpoint. Extensions allow additional technology specific
operations
to be added to an existing endpoint. For example, a web
extension may offer variations of a read operation to support filtering based on a
query parameter.
Extension annotations must provide an EndpointFilter
to restrict when the
extension applies. The endpoint
attribute is usually re-declared using
@AliasFor
. For example:
@EndpointExtension(filter = WebEndpointFilter.class) public @interface EndpointWebExtension { @AliasFor(annotation = EndpointExtension.class, attribute = "endpoint") Class<?> endpoint(); }
- Since:
- 2.0.0
- Author:
- Phillip Webb
-
Required Element Summary
Modifier and TypeRequired ElementDescriptionClass<? extends EndpointFilter<?>>
The filter class used to determine when the extension applies. -
Optional Element Summary
-
Element Details
-
filter
Class<? extends EndpointFilter<?>> filterThe filter class used to determine when the extension applies.- Returns:
- the filter class
-
-
-
endpoint
Class<?> endpointThe class of the endpoint to extend.- Returns:
- the class endpoint to extend
- Default:
- java.lang.Void.class
-