Class RequestMappingInfo

java.lang.Object
org.springframework.web.reactive.result.method.RequestMappingInfo
All Implemented Interfaces:
RequestCondition<RequestMappingInfo>

public final class RequestMappingInfo extends Object implements RequestCondition<RequestMappingInfo>
Request mapping information. Encapsulates the following request mapping conditions:
  1. PatternsRequestCondition
  2. RequestMethodsRequestCondition
  3. ParamsRequestCondition
  4. HeadersRequestCondition
  5. ConsumesRequestCondition
  6. ProducesRequestCondition
  7. RequestCondition (optional, custom request condition)
Since:
5.0
Author:
Rossen Stoyanchev
  • Method Details

    • getName

      public @Nullable String getName()
      Return the name for this mapping, or null.
    • getPatternsCondition

      public PatternsRequestCondition getPatternsCondition()
      Returns the URL patterns of this RequestMappingInfo; or instance with 0 patterns, never null.
    • getDirectPaths

      public Set<String> getDirectPaths()
      Return the mapping paths that are not patterns.
      Since:
      5.3
    • getMethodsCondition

      public RequestMethodsRequestCondition getMethodsCondition()
      Returns the HTTP request methods of this RequestMappingInfo; or instance with 0 request methods, never null.
    • getParamsCondition

      public ParamsRequestCondition getParamsCondition()
      Returns the "parameters" condition of this RequestMappingInfo; or instance with 0 parameter expressions, never null.
    • getHeadersCondition

      public HeadersRequestCondition getHeadersCondition()
      Returns the "headers" condition of this RequestMappingInfo; or instance with 0 header expressions, never null.
    • getConsumesCondition

      public ConsumesRequestCondition getConsumesCondition()
      Returns the "consumes" condition of this RequestMappingInfo; or instance with 0 consumes expressions, never null.
    • getProducesCondition

      public ProducesRequestCondition getProducesCondition()
      Returns the "produces" condition of this RequestMappingInfo; or instance with 0 produces expressions, never null.
    • getVersionCondition

      public VersionRequestCondition getVersionCondition()
      Returns the version condition of this RequestMappingInfo, or an instance without a version.
      Since:
      7.0
    • getCustomCondition

      public @Nullable RequestCondition<?> getCustomCondition()
      Returns the "custom" condition of this RequestMappingInfo; or null.
    • combine

      public RequestMappingInfo combine(RequestMappingInfo other)
      Combines "this" request mapping info (i.e. the current instance) with another request mapping info instance.

      Example: combine type- and method-level request mappings.

      Specified by:
      combine in interface RequestCondition<RequestMappingInfo>
      Parameters:
      other - the condition to combine with.
      Returns:
      a new request mapping info instance; never null
    • getMatchingCondition

      public @Nullable RequestMappingInfo getMatchingCondition(org.springframework.web.server.ServerWebExchange exchange)
      Checks if all conditions in this request mapping info match the provided request and returns a potentially new request mapping info with conditions tailored to the current request.

      For example the returned instance may contain the subset of URL patterns that match to the current request, sorted with best matching patterns on top.

      Specified by:
      getMatchingCondition in interface RequestCondition<RequestMappingInfo>
      Returns:
      a new instance in case all conditions match; or null otherwise
    • compareTo

      public int compareTo(RequestMappingInfo other, org.springframework.web.server.ServerWebExchange exchange)
      Compares "this" info (i.e. the current instance) with another info in the context of a request.

      Note: It is assumed both instances have been obtained via getMatchingCondition(ServerWebExchange) to ensure they have conditions with content relevant to current request.

      Specified by:
      compareTo in interface RequestCondition<RequestMappingInfo>
    • equals

      public boolean equals(@Nullable Object other)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • mutate

      public RequestMappingInfo.Builder mutate()
      Return a builder to create a new RequestMappingInfo by modifying this one.
      Returns:
      a builder to create a new, modified instance
      Since:
      5.3.4
    • paths

      public static RequestMappingInfo.Builder paths(String... paths)
      Create a new RequestMappingInfo.Builder with the given paths.
      Parameters:
      paths - the paths to use