Class ConsumingWebEndpointMappingAdapter
- java.lang.Object
-
- io.microsphere.spring.webflux.function.server.ConsumingWebEndpointMappingAdapter
-
- All Implemented Interfaces:
RequestPredicateVisitorAdapter,RouterFunctionVisitorAdapter,java.lang.reflect.InvocationHandler,org.springframework.web.reactive.function.server.RouterFunctions.Visitor
public class ConsumingWebEndpointMappingAdapter extends java.lang.Object implements RequestPredicateVisitorAdapter, RouterFunctionVisitorAdapter
The adapter class ofRequestPredicateVisitorAdapterandRouterFunctionVisitorAdapterto consume theWebEndpointMappingsgenerated during the visiting process.This class is designed to traverse Spring WebFlux 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:
RequestPredicateVisitorAdapter,RouterFunctionVisitorAdapter,WebEndpointMapping
-
-
Field Summary
-
Fields inherited from interface io.microsphere.spring.webflux.function.server.RequestPredicateVisitorAdapter
ACCEPT_METHOD, VISITOR_CLASS
-
-
Constructor Summary
Constructors Constructor Description ConsumingWebEndpointMappingAdapter(java.util.function.Consumer<WebEndpointMapping<?>> webEndpointMappingConsumer)ConsumingWebEndpointMappingAdapter(java.util.function.Consumer<WebEndpointMapping<?>> webEndpointMappingConsumer, java.lang.Object source)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidendNested(org.springframework.web.reactive.function.server.RequestPredicate predicate)voidheader(java.lang.String name, java.lang.String value)Receive notification of an HTTP header predicate.voidmethod(java.util.Set<org.springframework.http.HttpMethod> methods)Receive notification of an HTTP method predicate.voidpath(java.lang.String pattern)Receive notification of a path predicate.voidqueryParam(java.lang.String name, java.lang.String value)Receive notification of a query parameter predicate.voidroute(org.springframework.web.reactive.function.server.RequestPredicate predicate, org.springframework.web.reactive.function.server.HandlerFunction<?> handlerFunction)voidstartNested(org.springframework.web.reactive.function.server.RequestPredicate predicate)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.microsphere.spring.webflux.function.server.RequestPredicateVisitorAdapter
and, endAnd, endNegate, endOr, getProxy, invoke, isVisitorSupported, or, pathExtension, startAnd, startNegate, startOr, unknown, visit
-
Methods inherited from interface io.microsphere.spring.webflux.function.server.RouterFunctionVisitorAdapter
attributes, resources, unknown
-
-
-
-
Constructor Detail
-
ConsumingWebEndpointMappingAdapter
public ConsumingWebEndpointMappingAdapter(java.util.function.Consumer<WebEndpointMapping<?>> webEndpointMappingConsumer)
-
ConsumingWebEndpointMappingAdapter
public ConsumingWebEndpointMappingAdapter(java.util.function.Consumer<WebEndpointMapping<?>> webEndpointMappingConsumer, java.lang.Object source)
-
-
Method Detail
-
method
public void method(java.util.Set<org.springframework.http.HttpMethod> methods)
Description copied from interface:RequestPredicateVisitorAdapterReceive notification of an HTTP method predicate.- Specified by:
methodin interfaceRequestPredicateVisitorAdapter- Parameters:
methods- the HTTP methods that make up the predicate- See Also:
RequestPredicates.method(HttpMethod),RequestPredicates.Visitor.method(Set)
-
path
public void path(java.lang.String pattern)
Description copied from interface:RequestPredicateVisitorAdapterReceive notification of a path predicate.- Specified by:
pathin interfaceRequestPredicateVisitorAdapter- Parameters:
pattern- the path pattern that makes up the predicate- See Also:
RequestPredicates.path(String),RequestPredicates.Visitor.path(String)
-
header
public void header(java.lang.String name, java.lang.String value)Description copied from interface:RequestPredicateVisitorAdapterReceive notification of an HTTP header predicate.- Specified by:
headerin interfaceRequestPredicateVisitorAdapter- Parameters:
name- the name of the HTTP header to checkvalue- the desired value of the HTTP header- See Also:
RequestPredicates.headers(Predicate),RequestPredicates.contentType(MediaType...),RequestPredicates.accept(MediaType...),RequestPredicates.Visitor.header(String, String)
-
queryParam
public void queryParam(java.lang.String name, java.lang.String value)Description copied from interface:RequestPredicateVisitorAdapterReceive notification of a query parameter predicate.- Specified by:
queryParamin interfaceRequestPredicateVisitorAdapter- Parameters:
name- the name of the query parametervalue- the desired value of the parameter- See Also:
RequestPredicates.queryParam(String, String),RequestPredicates.Visitor.queryParam(String, String)
-
startNested
public void startNested(org.springframework.web.reactive.function.server.RequestPredicate predicate)
- Specified by:
startNestedin interfaceorg.springframework.web.reactive.function.server.RouterFunctions.Visitor- Specified by:
startNestedin interfaceRouterFunctionVisitorAdapter
-
endNested
public void endNested(org.springframework.web.reactive.function.server.RequestPredicate predicate)
- Specified by:
endNestedin interfaceorg.springframework.web.reactive.function.server.RouterFunctions.Visitor- Specified by:
endNestedin interfaceRouterFunctionVisitorAdapter
-
route
public void route(org.springframework.web.reactive.function.server.RequestPredicate predicate, org.springframework.web.reactive.function.server.HandlerFunction<?> handlerFunction)- Specified by:
routein interfaceorg.springframework.web.reactive.function.server.RouterFunctions.Visitor- Specified by:
routein interfaceRouterFunctionVisitorAdapter
-
-