类 ReversedProxyHandlerMapping

  • 所有已实现的接口:
    java.util.EventListener, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationListener<WebEndpointMappingsReadyEvent>, org.springframework.core.Ordered, org.springframework.web.context.ServletContextAware, org.springframework.web.servlet.HandlerMapping

    public class ReversedProxyHandlerMapping
    extends org.springframework.web.servlet.handler.AbstractHandlerMapping
    implements org.springframework.context.ApplicationListener<WebEndpointMappingsReadyEvent>
    The performance optimization HandlerMapping to process the forwarded request from the reversed proxy web server, e.g, Spring Cloud Netflix Zuul, Spring Cloud Gateway or others. The request must have a header named "microsphere_wem_id", which is a string presenting the id of endpoint, used to locate the actual endpoint easily, such as HandlerMethod, HandlerFunction and Controller.

    As a result, ReversedProxyHandlerMapping has the higher precedence than others, which ensures that it prioritizes getting the handler and avoid the duplication that was executed by the reversed proxy. As regards the details of endpoint, it's recommended to read the JavaDoc of WebEndpointMapping.getEndpoint().

    For now, ReversedProxyHandlerMapping only supports to get the handlers from RequestMappingHandlerMapping.

    从以下版本开始:
    1.0.0
    作者:
    Mercy
    另请参阅:
    WebEndpointMapping, AbstractUrlHandlerMapping, AbstractHandlerMethodMapping, HandlerMetadataWebEndpointMappingFactory, RequestMappingMetadataWebEndpointMappingFactory, RequestMappingInfoHandlerMapping
    • 字段概要

      字段 
      修饰符和类型 字段 说明
      static int DEFAULT_ORDER  
      • 从类继承的字段 org.springframework.web.servlet.handler.AbstractHandlerMapping

        mappingsLogger
      • 从接口继承的字段 org.springframework.web.servlet.HandlerMapping

        BEST_MATCHING_HANDLER_ATTRIBUTE, BEST_MATCHING_PATTERN_ATTRIBUTE, INTROSPECT_TYPE_LEVEL_MAPPING, LOOKUP_PATH, MATRIX_VARIABLES_ATTRIBUTE, PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, URI_TEMPLATE_VARIABLES_ATTRIBUTE
      • 从接口继承的字段 org.springframework.core.Ordered

        HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
    • 方法概要

      所有方法 实例方法 具体方法 
      修饰符和类型 方法 说明
      protected org.springframework.web.servlet.HandlerExecutionChain getHandlerExecutionChain​(WebEndpointMapping webEndpointMapping, javax.servlet.http.HttpServletRequest request)  
      protected java.lang.Object getHandlerInternal​(javax.servlet.http.HttpServletRequest request)  
      void onApplicationEvent​(WebEndpointMappingsReadyEvent event)  
      • 从类继承的方法 org.springframework.web.servlet.handler.AbstractHandlerMapping

        adaptInterceptor, detectMappedInterceptors, extendInterceptors, formatMappingName, getAdaptedInterceptors, getCorsConfiguration, getCorsConfigurationSource, getCorsHandlerExecutionChain, getCorsProcessor, getDefaultHandler, getHandler, getHandlerExecutionChain, getMappedInterceptors, getOrder, getPathMatcher, getPatternParser, getUrlPathHelper, hasCorsConfigurationSource, initApplicationContext, initInterceptors, initLookupPath, setAlwaysUseFullPath, setBeanName, setCorsConfigurations, setCorsConfigurationSource, setCorsProcessor, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setPatternParser, setRemoveSemicolonContent, setUrlDecode, setUrlPathHelper, usesPathPatterns
      • 从类继承的方法 org.springframework.web.context.support.WebApplicationObjectSupport

        getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
      • 从类继承的方法 org.springframework.context.support.ApplicationObjectSupport

        getApplicationContext, getMessageSourceAccessor, obtainApplicationContext, requiredContextClass, setApplicationContext
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 字段详细资料

      • DEFAULT_ORDER

        public static final int DEFAULT_ORDER
        另请参阅:
        常量字段值
    • 构造器详细资料

      • ReversedProxyHandlerMapping

        public ReversedProxyHandlerMapping()
    • 方法详细资料

      • getHandlerInternal

        protected java.lang.Object getHandlerInternal​(javax.servlet.http.HttpServletRequest request)
                                               throws java.lang.Exception
        指定者:
        getHandlerInternal 在类中 org.springframework.web.servlet.handler.AbstractHandlerMapping
        抛出:
        java.lang.Exception
      • getHandlerExecutionChain

        @Nullable
        protected org.springframework.web.servlet.HandlerExecutionChain getHandlerExecutionChain​(WebEndpointMapping webEndpointMapping,
                                                                                                 javax.servlet.http.HttpServletRequest request)