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
Required ElementsModifier and TypeRequired ElementDescriptionClass<? extends EndpointFilter<?>>The filter class used to determine when the extension applies. -
Optional Element Summary
Optional Elements
-
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
-