Interface RequestCondition<T>
- Type Parameters:
T
- the type of objects that this RequestCondition can be combined with and compared to
- All Known Implementing Classes:
AbstractRequestCondition
,CompositeRequestCondition
,ConsumesRequestCondition
,HeadersRequestCondition
,ParamsRequestCondition
,PatternsRequestCondition
,ProducesRequestCondition
,RequestConditionHolder
,RequestMappingInfo
,RequestMethodsRequestCondition
public interface RequestCondition<T>
Contract for request mapping conditions.
Request conditions can be combined via combine(Object)
, matched to
a request via getMatchingCondition(ServerWebExchange)
, and compared
to each other via compareTo(Object, ServerWebExchange)
to determine
which is a closer match for a given request.
- Since:
- 5.0
- Author:
- Rossen Stoyanchev
-
Method Summary
Modifier and TypeMethodDescriptionCombine this condition with another such as conditions from a type-level and method-level@RequestMapping
annotation.int
compareTo
(T other, ServerWebExchange exchange) Compare this condition to another condition in the context of a specific request.getMatchingCondition
(ServerWebExchange exchange) Check if the condition matches the request returning a potentially new instance created for the current request.
-
Method Details
-
combine
Combine this condition with another such as conditions from a type-level and method-level@RequestMapping
annotation.- Parameters:
other
- the condition to combine with.- Returns:
- a request condition instance that is the result of combining the two condition instances.
-
getMatchingCondition
Check if the condition matches the request returning a potentially new instance created for the current request. For example a condition with multiple URL patterns may return a new instance only with those patterns that match the request.For CORS pre-flight requests, conditions should match to the would-be, actual request (e.g. URL pattern, query parameters, and the HTTP method from the "Access-Control-Request-Method" header). If a condition cannot be matched to a pre-flight request it should return an instance with empty content thus not causing a failure to match.
- Returns:
- a condition instance in case of a match or
null
otherwise.
-
compareTo
Compare this condition to another condition in the context of a specific request. This method assumes both instances have been obtained viagetMatchingCondition(ServerWebExchange)
to ensure they have content relevant to current request only.
-