Class ConsumingWebEndpointMappingAdapter

java.lang.Object
io.microsphere.spring.web.servlet.function.ConsumingWebEndpointMappingAdapter
All Implemented Interfaces:
RequestPredicateVisitorAdapter, RouterFunctionVisitorAdapter, org.springframework.web.servlet.function.RequestPredicates.Visitor, org.springframework.web.servlet.function.RouterFunctions.Visitor

public class ConsumingWebEndpointMappingAdapter extends Object implements RequestPredicateVisitorAdapter, RouterFunctionVisitorAdapter
The adapter class of RequestPredicateVisitorAdapter and RouterFunctionVisitorAdapter to consume the WebEndpointMappings generated during the visiting process.

This class is designed to traverse Spring WebMVC router functions and their associated request predicates, collecting metadata about web endpoints. It implements both visitor interfaces to capture information such as HTTP methods, path patterns, headers, and query parameters.

Example Usage


 // Create a consumer to handle the generated WebEndpointMappings
 Consumer<WebEndpointMapping> mappingConsumer = mapping -> {
     System.out.println("Endpoint: " + mapping.getEndpoint());
     System.out.println("Patterns: " + Arrays.toString(mapping.getPatterns()));
     System.out.println("Methods: " + Arrays.toString(mapping.getMethods()));
 };

 // Create the adapter
 ConsumingWebEndpointMappingAdapter adapter = new ConsumingWebEndpointMappingAdapter(mappingConsumer);

 // Visit a router function to collect endpoint mappings
 RouterFunction<?> routerFunction = ...; // your router function
 routerFunction.accept(adapter);
 
Since:
1.0.0
Author:
Mercy
See Also:
  • Constructor Details

    • ConsumingWebEndpointMappingAdapter

      public ConsumingWebEndpointMappingAdapter(Consumer<io.microsphere.spring.web.metadata.WebEndpointMapping<?>> webEndpointMappingConsumer)
    • ConsumingWebEndpointMappingAdapter

      public ConsumingWebEndpointMappingAdapter(Consumer<io.microsphere.spring.web.metadata.WebEndpointMapping<?>> webEndpointMappingConsumer, Object source)
  • Method Details

    • method

      public void method(Set<org.springframework.http.HttpMethod> methods)
      Specified by:
      method in interface org.springframework.web.servlet.function.RequestPredicates.Visitor
      Specified by:
      method in interface RequestPredicateVisitorAdapter
    • path

      public void path(String pattern)
      Specified by:
      path in interface org.springframework.web.servlet.function.RequestPredicates.Visitor
      Specified by:
      path in interface RequestPredicateVisitorAdapter
    • header

      public void header(String name, String value)
      Specified by:
      header in interface org.springframework.web.servlet.function.RequestPredicates.Visitor
      Specified by:
      header in interface RequestPredicateVisitorAdapter
    • param

      public void param(String name, String value)
      Specified by:
      param in interface org.springframework.web.servlet.function.RequestPredicates.Visitor
      Specified by:
      param in interface RequestPredicateVisitorAdapter
    • startNested

      public void startNested(org.springframework.web.servlet.function.RequestPredicate predicate)
      Specified by:
      startNested in interface org.springframework.web.servlet.function.RouterFunctions.Visitor
      Specified by:
      startNested in interface RouterFunctionVisitorAdapter
    • endNested

      public void endNested(org.springframework.web.servlet.function.RequestPredicate predicate)
      Specified by:
      endNested in interface org.springframework.web.servlet.function.RouterFunctions.Visitor
      Specified by:
      endNested in interface RouterFunctionVisitorAdapter
    • route

      public void route(org.springframework.web.servlet.function.RequestPredicate predicate, org.springframework.web.servlet.function.HandlerFunction<?> handlerFunction)
      Specified by:
      route in interface org.springframework.web.servlet.function.RouterFunctions.Visitor
      Specified by:
      route in interface RouterFunctionVisitorAdapter