@Singleton @Requires(beans=RoutesVersioningConfiguration.class) public class RouteVersionFilter extends java.lang.Object implements VersionRouteMatchFilter
RouteMatchFilter responsible for filtering route matches on Version.| Constructor and Description |
|---|
RouteVersionFilter(java.util.List<RequestVersionResolver> resolvingStrategies,
DefaultVersionProvider defaultVersionProvider)
Creates a
RouteVersionFilter with a collection of RequestVersionResolver. |
| Modifier and Type | Method and Description |
|---|---|
<T,R> java.util.function.Predicate<UriRouteMatch<T,R>> |
filter(io.micronaut.http.HttpRequest<?> request)
Filters route matches by specified version.
|
protected <T,R> java.util.Optional<java.lang.String> |
getVersion(UriRouteMatch<T,R> routeMatch) |
protected boolean |
matchIfRouteIsNotVersioned(io.micronaut.http.HttpRequest<?> request,
java.lang.String version) |
protected boolean |
matchIfRouteIsVersioned(io.micronaut.http.HttpRequest<?> request,
java.lang.String resolvedVersion,
java.lang.String routeVersion) |
protected java.util.Optional<java.lang.String> |
resolveVersion(io.micronaut.http.HttpRequest<?> request) |
public RouteVersionFilter(java.util.List<RequestVersionResolver> resolvingStrategies, @Nullable DefaultVersionProvider defaultVersionProvider)
RouteVersionFilter with a collection of RequestVersionResolver.resolvingStrategies - A list of RequestVersionResolver beans to extract version from HTTP requestdefaultVersionProvider - The Default Version Providerpublic <T,R> java.util.function.Predicate<UriRouteMatch<T,R>> filter(io.micronaut.http.HttpRequest<?> request)
filter in interface RouteMatchFilterT - The target typeR - The return typerequest - The HTTP requestprotected boolean matchIfRouteIsNotVersioned(@NonNull
io.micronaut.http.HttpRequest<?> request,
@Nullable
java.lang.String version)
request - HTTP Requestversion - The version resolved evaluating the HTTP Request with beans of type RequestVersionResolvertrue if no version was resolved from the requestprotected boolean matchIfRouteIsVersioned(@NonNull
io.micronaut.http.HttpRequest<?> request,
@Nullable
java.lang.String resolvedVersion,
@NonNull
java.lang.String routeVersion)
request - HTTP RequestresolvedVersion - The version resolved evaluating the HTTP Request with beans of type RequestVersionResolver and the RoutesVersioningConfiguration.getDefaultVersion().routeVersion - The route's version. For example, it could specified by the Version annotation.true if the resolved version matches the route version or if the resolved version is null@NonNull
protected java.util.Optional<java.lang.String> resolveVersion(@NonNull
io.micronaut.http.HttpRequest<?> request)
request - HTTP RequestOptionalprotected <T,R> java.util.Optional<java.lang.String> getVersion(UriRouteMatch<T,R> routeMatch)
T - The target typeR - The return typerouteMatch - Version in the route method wrapped in an Optional.