Package io.micronaut.web.router
Interface Router
- All Known Implementing Classes:
DefaultRouter,FilteredRouter
public interface Router
Core Router interface that allows discovery of a route given an HTTP method and URI.
- Since:
- 1.0
-
Method Summary
Modifier and TypeMethodDescriptionvoidapplyDefaultPorts(List<Integer> ports) Sets the ports the application will listen to by default.default <T,R> Optional<UriRouteMatch<T, R>> DELETE(@NonNull CharSequence uri) Find the firstRouteMatchroute for anHttpMethod.DELETEmethod and the given URI.<T,R> @NonNull Stream<UriRouteMatch<T, R>> find(@NonNull io.micronaut.http.HttpMethod httpMethod, @NonNull CharSequence uri, @Nullable io.micronaut.http.HttpRequest<?> context) Finds all possible routes for the given HTTP method and URI.default <T,R> @NonNull Stream<UriRouteMatch<T, R>> find(@NonNull io.micronaut.http.HttpMethod httpMethod, @NonNull URI uri, @Nullable io.micronaut.http.HttpRequest<?> context) Finds all possible routes for the given HTTP method and URI.default <T,R> @NonNull Stream<UriRouteMatch<T, R>> find(@NonNull io.micronaut.http.HttpRequest<?> request) Finds all possible routes for the given HTTP request.default <T,R> @NonNull Stream<UriRouteMatch<T, R>> find(@NonNull io.micronaut.http.HttpRequest<?> request, @NonNull CharSequence uri) Find method, that should be used for non-standard http methods.<T,R> @NonNull List<UriRouteMatch<T, R>> findAllClosest(@NonNull io.micronaut.http.HttpRequest<?> request) Finds the closest match for the given request.<T,R> @NonNull List<UriRouteMatch<T, R>> findAny(@NonNull io.micronaut.http.HttpRequest<?> request) Find anyRouteMatchregardless of HTTP method.<T,R> @NonNull Stream<UriRouteMatch<T, R>> findAny(@NonNull CharSequence uri, @Nullable io.micronaut.http.HttpRequest<?> context) Find anyRouteMatchregardless of HTTP method.default <T,R> @NonNull UriRouteMatch<T, R> findClosest(@NonNull io.micronaut.http.HttpRequest<?> request) Finds the closest match for the given request or null if none is found.<R> Optional<RouteMatch<R>>findErrorRoute(@NonNull Class<?> originatingClass, @NonNull Throwable error, io.micronaut.http.HttpRequest<?> request) Match a route to an error.<R> Optional<RouteMatch<R>>findErrorRoute(@NonNull Throwable error, io.micronaut.http.HttpRequest<?> request) Match a route to an error.@NonNull List<io.micronaut.http.filter.GenericHttpFilter>findFilters(@NonNull io.micronaut.http.HttpRequest<?> request) Build a filteredPublisherfor an action.<R> Optional<RouteMatch<R>>findStatusRoute(@NonNull io.micronaut.http.HttpStatus status, io.micronaut.http.HttpRequest<?> request) Found aRouteMatchfor the givenHttpStatuscode.<R> Optional<RouteMatch<R>>findStatusRoute(@NonNull Class<?> originatingClass, @NonNull io.micronaut.http.HttpStatus status, io.micronaut.http.HttpRequest<?> request) Found aRouteMatchfor the givenHttpStatuscode.default <T,R> Optional<UriRouteMatch<T, R>> GET(@NonNull CharSequence uri) Find the firstRouteMatchroute for anHttpMethod.GETmethod and the given URI.default <T,R> Optional<UriRouteMatch<T, R>> HEAD(@NonNull CharSequence uri) Find the firstRouteMatchroute for anHttpMethod.HEADmethod and the given URI.default <T,R> Optional<UriRouteMatch<T, R>> OPTIONS(@NonNull CharSequence uri) Find the firstRouteMatchroute for anHttpMethod.OPTIONSmethod and the given URI.default <T,R> Optional<UriRouteMatch<T, R>> PATCH(@NonNull CharSequence uri) Find the firstRouteMatchroute for anHttpMethod.PATCHmethod and the given URI.default <T,R> Optional<UriRouteMatch<T, R>> POST(@NonNull CharSequence uri) Find the firstRouteMatchroute for anHttpMethod.POSTmethod and the given URI.default <T,R> Optional<UriRouteMatch<T, R>> PUT(@NonNull CharSequence uri) Find the firstRouteMatchroute for anHttpMethod.PUTmethod and the given URI.<T,R> Optional<UriRouteMatch<T, R>> route(@NonNull io.micronaut.http.HttpMethod httpMethod, @NonNull CharSequence uri) Finds the first possible route for the given HTTP method and URI.<R> Optional<RouteMatch<R>>route(@NonNull io.micronaut.http.HttpStatus status) Found aRouteMatchfor the givenHttpStatuscode.<R> Optional<RouteMatch<R>>Found aRouteMatchfor the givenHttpStatuscode.<R> Optional<RouteMatch<R>>Match a route to an error.<R> Optional<RouteMatch<R>>Match a route to an error.@NonNull Stream<UriRouteInfo<?,?>> Returns all UriRoutes.
-
Method Details
-
findAny
@NonNull <T,R> @NonNull Stream<UriRouteMatch<T,R>> findAny(@NonNull @NonNull CharSequence uri, @Nullable @Nullable io.micronaut.http.HttpRequest<?> context) Find anyRouteMatchregardless of HTTP method.- Type Parameters:
T- The target typeR- The return type- Parameters:
uri- The URIcontext- The optionalHttpRequestcontext information to applyRouteMatchFilter.- Returns:
- A stream of route matches
-
findAny
@NonNull <T,R> @NonNull List<UriRouteMatch<T,R>> findAny(@NonNull @NonNull io.micronaut.http.HttpRequest<?> request) Find anyRouteMatchregardless of HTTP method.- Type Parameters:
T- The target typeR- The return type- Parameters:
request- The request- Returns:
- A stream of route matches
- Since:
- 4.0.0
-
getExposedPorts
- Returns:
- The exposed ports.
-
applyDefaultPorts
Sets the ports the application will listen to by default.- Parameters:
ports- The default ports
-
find
@NonNull <T,R> @NonNull Stream<UriRouteMatch<T,R>> find(@NonNull @NonNull io.micronaut.http.HttpMethod httpMethod, @NonNull @NonNull CharSequence uri, @Nullable @Nullable io.micronaut.http.HttpRequest<?> context) Finds all possible routes for the given HTTP method and URI.- Type Parameters:
T- The target typeR- The type- Parameters:
httpMethod- The HTTP methoduri- The URI route matchcontext- The optionalHttpRequestcontext information to applyRouteMatchFilter.- Returns:
- A
Streamof possibleRouteinstances.
-
find
@NonNull default <T,R> @NonNull Stream<UriRouteMatch<T,R>> find(@NonNull @NonNull io.micronaut.http.HttpMethod httpMethod, @NonNull @NonNull URI uri, @Nullable @Nullable io.micronaut.http.HttpRequest<?> context) Finds all possible routes for the given HTTP method and URI. -
find
@NonNull default <T,R> @NonNull Stream<UriRouteMatch<T,R>> find(@NonNull @NonNull io.micronaut.http.HttpRequest<?> request) Finds all possible routes for the given HTTP request. -
find
@NonNull default <T,R> @NonNull Stream<UriRouteMatch<T,R>> find(@NonNull @NonNull io.micronaut.http.HttpRequest<?> request, @NonNull @NonNull CharSequence uri) Find method, that should be used for non-standard http methods. For standards, it should act the same asfind(HttpMethod, CharSequence, HttpRequest) -
findAllClosest
@NonNull <T,R> @NonNull List<UriRouteMatch<T,R>> findAllClosest(@NonNull @NonNull io.micronaut.http.HttpRequest<?> request) Finds the closest match for the given request. -
findClosest
@NonNull default <T,R> @NonNull UriRouteMatch<T,R> findClosest(@NonNull @NonNull io.micronaut.http.HttpRequest<?> request) throws DuplicateRouteException Finds the closest match for the given request or null if none is found.- Type Parameters:
T- The target typeR- The type- Parameters:
request- The request- Returns:
- A match or null, throws
DuplicateRouteExceptionon multiple routes. - Throws:
DuplicateRouteException- Since:
- 4.0.0
-
uriRoutes
Returns all UriRoutes. -
route
<T,R> Optional<UriRouteMatch<T,R>> route(@NonNull @NonNull io.micronaut.http.HttpMethod httpMethod, @NonNull @NonNull CharSequence uri) Finds the first possible route for the given HTTP method and URI.- Type Parameters:
T- The target typeR- The URI route match- Parameters:
httpMethod- The HTTP methoduri- The URI- Returns:
- The route match
-
route
Found aRouteMatchfor the givenHttpStatuscode.- Type Parameters:
R- The matched route- Parameters:
status- The HTTP status- Returns:
- The
RouteMatch
-
route
<R> Optional<RouteMatch<R>> route(@NonNull @NonNull Class<?> originatingClass, @NonNull @NonNull io.micronaut.http.HttpStatus status) Found aRouteMatchfor the givenHttpStatuscode.- Type Parameters:
R- The matched route- Parameters:
originatingClass- The class the error originates fromstatus- The HTTP status- Returns:
- The
RouteMatch
-
route
Match a route to an error.- Type Parameters:
R- The matched route- Parameters:
error- The error- Returns:
- The
RouteMatch
-
route
<R> Optional<RouteMatch<R>> route(@NonNull @NonNull Class<?> originatingClass, @NonNull @NonNull Throwable error) Match a route to an error.- Type Parameters:
R- The matched route- Parameters:
originatingClass- The class the error originates fromerror- The error- Returns:
- The
RouteMatch
-
findErrorRoute
<R> Optional<RouteMatch<R>> findErrorRoute(@NonNull @NonNull Class<?> originatingClass, @NonNull @NonNull Throwable error, io.micronaut.http.HttpRequest<?> request) Match a route to an error.- Type Parameters:
R- The matched route- Parameters:
originatingClass- The class the error originates fromerror- The errorrequest- The request- Returns:
- The
RouteMatch
-
findErrorRoute
<R> Optional<RouteMatch<R>> findErrorRoute(@NonNull @NonNull Throwable error, io.micronaut.http.HttpRequest<?> request) Match a route to an error.- Type Parameters:
R- The matched route- Parameters:
error- The errorrequest- The request- Returns:
- The
RouteMatch
-
findStatusRoute
<R> Optional<RouteMatch<R>> findStatusRoute(@NonNull @NonNull Class<?> originatingClass, @NonNull @NonNull io.micronaut.http.HttpStatus status, io.micronaut.http.HttpRequest<?> request) Found aRouteMatchfor the givenHttpStatuscode.- Type Parameters:
R- The matched route- Parameters:
originatingClass- The class the error originates fromstatus- The HTTP statusrequest- The request- Returns:
- The
RouteMatch
-
findStatusRoute
<R> Optional<RouteMatch<R>> findStatusRoute(@NonNull @NonNull io.micronaut.http.HttpStatus status, io.micronaut.http.HttpRequest<?> request) Found aRouteMatchfor the givenHttpStatuscode.- Type Parameters:
R- The matched route- Parameters:
status- The HTTP statusrequest- The request- Returns:
- The
RouteMatch
-
findFilters
@NonNull @NonNull List<io.micronaut.http.filter.GenericHttpFilter> findFilters(@NonNull @NonNull io.micronaut.http.HttpRequest<?> request) Build a filteredPublisherfor an action.- Parameters:
request- The request- Returns:
- A new filtered publisher
-
GET
Find the firstRouteMatchroute for anHttpMethod.GETmethod and the given URI.- Type Parameters:
T- The target typeR- The return type- Parameters:
uri- The URI- Returns:
- An
OptionalofRouteMatch
-
POST
Find the firstRouteMatchroute for anHttpMethod.POSTmethod and the given URI.- Type Parameters:
T- The target typeR- The return type- Parameters:
uri- The URI- Returns:
- An
OptionalofRouteMatch
-
PUT
Find the firstRouteMatchroute for anHttpMethod.PUTmethod and the given URI.- Type Parameters:
T- The target typeR- The URI route match- Parameters:
uri- The URI- Returns:
- An
OptionalofRouteMatch
-
PATCH
Find the firstRouteMatchroute for anHttpMethod.PATCHmethod and the given URI.- Type Parameters:
T- The target typeR- The return type- Parameters:
uri- The URI- Returns:
- An
OptionalofRouteMatch
-
DELETE
Find the firstRouteMatchroute for anHttpMethod.DELETEmethod and the given URI.- Type Parameters:
T- The target typeR- The return type- Parameters:
uri- The URI- Returns:
- An
OptionalofRouteMatch
-
OPTIONS
Find the firstRouteMatchroute for anHttpMethod.OPTIONSmethod and the given URI.- Type Parameters:
T- The target typeR- The return type- Parameters:
uri- The URI- Returns:
- An
OptionalofRouteMatch
-
HEAD
Find the firstRouteMatchroute for anHttpMethod.HEADmethod and the given URI.- Type Parameters:
T- The target typeR- The return type- Parameters:
uri- The URI- Returns:
- An
OptionalofRouteMatch
-