public interface RequestPredicate extends java.util.function.Predicate<ServerRequest>
Routing.Rules.
Construct condition using whenRequest() method and fluent API. Then create request handler using
thenApply(Handler))} method.
Creates Handler which executes provided logic only if request contains foo header and accepts
text/plain. If not, then it calls req.next().
RequestPredicate.whenRequest()
.containsHeader("foo")
.accepts(MediaType.TEXT_PLAIN)
.thenApply((req, resp) -> {
// Some logic
});
Creates Handler which executes provided logic only if request contains foo header. If not, then it executes
'otherwise logic' which, in this case, throws a RuntimeException.
RequestPredicate.whenRequest()
.containsHeader("foo")
.thenApply((req, resp) -> {
// Some logic
})
.otherwise(req, resp) -> {
throw new RuntimeException("Missing 'foo' header!");
});
| Modifier and Type | Interface and Description |
|---|---|
static class |
RequestPredicate.ConditionalHandler
A
Handler which executes provided logic only if provided condition is satisfied. |
| Modifier and Type | Method and Description |
|---|---|
RequestPredicate |
accepts(MediaType... contentType)
Accepts only requests accepting any of specified content types.
|
RequestPredicate |
accepts(java.lang.String... contentType)
Accepts only requests accepting any of specified content types.
|
default RequestPredicate |
and(java.util.function.Predicate<? super ServerRequest> other) |
static RequestPredicate |
any(RequestPredicate... predicates)
Combines several provided predicates in short circuit OR manner.
|
RequestPredicate |
containsCookie(java.lang.String cookieName)
Accepts only requests with specified cookie name.
|
RequestPredicate |
containsCookie(java.lang.String cookieName,
java.util.function.Predicate<java.lang.String> cookieValuePredicate)
Accepts only requests with specified cookie containing valid value.
|
RequestPredicate |
containsCookie(java.lang.String cookieName,
java.lang.String value)
Accepts only requests with specified cookie containing valid value.
|
RequestPredicate |
containsHeader(java.lang.String headerName)
Accepts only requests with specified header name.
|
RequestPredicate |
containsHeader(java.lang.String headerName,
java.util.function.Predicate<java.lang.String> headerValuePredicate)
Accepts only requests with specified header containing valid value.
|
RequestPredicate |
containsHeader(java.lang.String headerName,
java.lang.String value)
Accepts only requests with specified header containing valid value.
|
RequestPredicate |
containsQueryParameter(java.lang.String queryParameterName)
Accepts only requests with specified query parameter.
|
RequestPredicate |
containsQueryParameter(java.lang.String queryParameterName,
java.util.function.Predicate<java.lang.String> parameterValuePredicate)
Accepts only requests with specified query parameter.
|
RequestPredicate |
containsQueryParameter(java.lang.String queryParameterName,
java.lang.String value)
Accepts only requests with specified query parameter.
|
RequestPredicate |
hasContentType(java.lang.String... contentType)
Accepts only requests of any specified content types.
|
RequestPredicate |
is(java.util.function.Predicate<? super ServerRequest> requestPredicate)
Accepts by free form condition.
|
RequestPredicate |
isOfMethod(java.lang.String... methodNames)
Accepts only requests with one of specified HTTP methods.
|
default RequestPredicate |
negate() |
default RequestPredicate |
or(java.util.function.Predicate<? super ServerRequest> other) |
RequestPredicate.ConditionalHandler |
thenApply(Handler handler)
Creates request-response handler/filter which calls provided handler only if this predicate accepts provided request,
otherwise call
ServerRequest.next() method. |
static RequestPredicate |
whenRequest()
Creates new empty instance
RequestPredicate instance. |
RequestPredicate isOfMethod(java.lang.String... methodNames)
methodNames - Acceptable method names.RequestPredicate containsHeader(java.lang.String headerName)
headerName - Header name.RequestPredicate containsHeader(java.lang.String headerName, java.util.function.Predicate<java.lang.String> headerValuePredicate)
If request contains more then one header instance, then value predicate is called for all instances. Request is accepted
if ANY predicate call returns true.
headerName - Header name.headerValuePredicate - Predicate for header value. Is called for all header values.RequestPredicate containsHeader(java.lang.String headerName, java.lang.String value)
If request contains more then one header instance, then value is tested for all instances. Request is accepted if ANY value equals to provided.
headerName - Header name.value - Expected header value.RequestPredicate containsQueryParameter(java.lang.String queryParameterName)
queryParameterName - Query parameterRequestPredicate containsQueryParameter(java.lang.String queryParameterName, java.util.function.Predicate<java.lang.String> parameterValuePredicate)
queryParameterName - Query parameter name.parameterValuePredicate - Predicate for a parameter value.RequestPredicate containsQueryParameter(java.lang.String queryParameterName, java.lang.String value)
queryParameterName - Query parameter name.value - Expected value.RequestPredicate containsCookie(java.lang.String cookieName)
cookieName - Cookie name.RequestPredicate containsCookie(java.lang.String cookieName, java.util.function.Predicate<java.lang.String> cookieValuePredicate)
cookieName - Header name.cookieValuePredicate - Predicate for a cookie value.RequestPredicate containsCookie(java.lang.String cookieName, java.lang.String value)
cookieName - Header name.value - Predicate for a cookie value.RequestPredicate accepts(java.lang.String... contentType)
contentType - Content type.RequestPredicate accepts(MediaType... contentType)
contentType - Content type.RequestPredicate hasContentType(java.lang.String... contentType)
contentType - Content type.RequestPredicate is(java.util.function.Predicate<? super ServerRequest> requestPredicate)
and(Predicate).requestPredicate - A request predicate.RequestPredicate.ConditionalHandler thenApply(Handler handler)
ServerRequest.next() method.handler - to apply if this instance accepts provided request.default RequestPredicate and(java.util.function.Predicate<? super ServerRequest> other)
and in interface java.util.function.Predicate<ServerRequest>default RequestPredicate negate()
negate in interface java.util.function.Predicate<ServerRequest>default RequestPredicate or(java.util.function.Predicate<? super ServerRequest> other)
or in interface java.util.function.Predicate<ServerRequest>static RequestPredicate whenRequest()
RequestPredicate instance. It can be used as a base for fluent construction of
complex predicate.static RequestPredicate any(RequestPredicate... predicates)
predicates - to combine.Copyright © 2018–2019 Oracle Corporation. All rights reserved.