Class RouteVersionFilter

    • Method Detail

      • filter

        public <T,​R> java.util.function.Predicate<UriRouteMatch<T,​R>> filter​(io.micronaut.http.HttpRequest<?> request)
        Filters route matches by specified version.
        Specified by:
        filter in interface RouteMatchFilter
        Type Parameters:
        T - The target type
        R - The return type
        Parameters:
        request - The HTTP request
        Returns:
        A filtered list of route matches
      • matchIfRouteIsNotVersioned

        protected boolean matchIfRouteIsNotVersioned​(@NonNull
                                                     io.micronaut.http.HttpRequest<?> request,
                                                     @Nullable
                                                     java.lang.String version)
        Parameters:
        request - HTTP Request
        version - The version resolved evaluating the HTTP Request with beans of type RequestVersionResolver
        Returns:
        true if no version was resolved from the request
      • matchIfRouteIsVersioned

        protected boolean matchIfRouteIsVersioned​(@NonNull
                                                  io.micronaut.http.HttpRequest<?> request,
                                                  @Nullable
                                                  java.lang.String resolvedVersion,
                                                  @NonNull
                                                  java.lang.String routeVersion)
        Parameters:
        request - HTTP Request
        resolvedVersion - 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.
        Returns:
        true if the resolved version matches the route version or if the resolved version is null
      • resolveVersion

        @NonNull
        protected java.util.Optional<java.lang.String> resolveVersion​(@NonNull
                                                                      io.micronaut.http.HttpRequest<?> request)
        Parameters:
        request - HTTP Request
        Returns:
        the resolved requested version wrapped in an Optional
      • getVersion

        protected <T,​R> java.util.Optional<java.lang.String> getVersion​(UriRouteMatch<T,​R> routeMatch)
        Type Parameters:
        T - The target type
        R - The return type
        Parameters:
        routeMatch -
        Returns:
        Returns the value of the annotation Version in the route method wrapped in an Optional.