diff --git a/headless-services/commons/commons-boot-app-cli/src/test/resources/live-rm-beans/rms-boot2-web.json b/headless-services/commons/commons-boot-app-cli/src/test/resources/live-rm-beans/rms-boot2-web.json new file mode 100644 index 000000000..7bfbb6568 --- /dev/null +++ b/headless-services/commons/commons-boot-app-cli/src/test/resources/live-rm-beans/rms-boot2-web.json @@ -0,0 +1,286 @@ +{ + "contexts": { + "application": { + "mappings": { + "dispatcherServlets": { + "dispatcherServlet": [ + { + "handler": "ResourceHttpRequestHandler [locations=[class path resource [META-INF/resources/], class path resource [resources/], class path resource [static/], class path resource [public/], ServletContext resource [/], class path resource []], resolvers=[org.springframework.web.servlet.resource.PathResourceResolver@34896ee2]]", + "predicate": "/**/favicon.ico" + }, + { + "handler": "public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map)", + "predicate": "{[/actuator/health],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}", + "details": { + "requestMappingConditions": { + "headers": [], + "methods": [ + "GET" + ], + "patterns": [ + "/actuator/health" + ], + "produces": [ + { + "negated": false, + "mediaType": "application/vnd.spring-boot.actuator.v2+json" + }, + { + "negated": false, + "mediaType": "application/json" + } + ], + "params": [], + "consumes": [] + }, + "handlerMethod": { + "name": "handle", + "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler", + "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;" + } + } + }, + { + "handler": "public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map)", + "predicate": "{[/actuator/info],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}", + "details": { + "requestMappingConditions": { + "headers": [], + "methods": [ + "GET" + ], + "patterns": [ + "/actuator/info" + ], + "produces": [ + { + "negated": false, + "mediaType": "application/vnd.spring-boot.actuator.v2+json" + }, + { + "negated": false, + "mediaType": "application/json" + } + ], + "params": [], + "consumes": [] + }, + "handlerMethod": { + "name": "handle", + "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler", + "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;" + } + } + }, + { + "handler": "protected java.util.Map> org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping.links(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)", + "predicate": "{[/actuator],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}", + "details": { + "requestMappingConditions": { + "headers": [], + "methods": [ + "GET" + ], + "patterns": [ + "/actuator" + ], + "produces": [ + { + "negated": false, + "mediaType": "application/vnd.spring-boot.actuator.v2+json" + }, + { + "negated": false, + "mediaType": "application/json" + } + ], + "params": [], + "consumes": [] + }, + "handlerMethod": { + "name": "links", + "className": "org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping", + "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Ljava/util/Map;" + } + } + }, + { + "handler": "public java.lang.String com.example.demo.MyController.getMethodName(java.lang.String)", + "predicate": "{[/hello],methods=[GET]}", + "details": { + "requestMappingConditions": { + "headers": [], + "methods": [ + "GET" + ], + "patterns": [ + "/hello" + ], + "produces": [], + "params": [], + "consumes": [] + }, + "handlerMethod": { + "name": "getMethodName", + "className": "com.example.demo.MyController", + "descriptor": "(Ljava/lang/String;)Ljava/lang/String;" + } + } + }, + { + "handler": "public java.lang.String com.example.demo.MyController.hello()", + "predicate": "{[/qq || /pp],methods=[GET]}", + "details": { + "requestMappingConditions": { + "headers": [], + "methods": [ + "GET" + ], + "patterns": [ + "/qq", + "/pp" + ], + "produces": [], + "params": [], + "consumes": [] + }, + "handlerMethod": { + "name": "hello", + "className": "com.example.demo.MyController", + "descriptor": "()Ljava/lang/String;" + } + } + }, + { + "handler": "public org.springframework.http.ResponseEntity> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)", + "predicate": "{[/error]}", + "details": { + "requestMappingConditions": { + "headers": [], + "methods": [], + "patterns": [ + "/error" + ], + "produces": [], + "params": [], + "consumes": [] + }, + "handlerMethod": { + "name": "error", + "className": "org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController", + "descriptor": "(Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/http/ResponseEntity;" + } + } + }, + { + "handler": "public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)", + "predicate": "{[/error],produces=[text/html]}", + "details": { + "requestMappingConditions": { + "headers": [], + "methods": [], + "patterns": [ + "/error" + ], + "produces": [ + { + "negated": false, + "mediaType": "text/html" + } + ], + "params": [], + "consumes": [] + }, + "handlerMethod": { + "name": "errorHtml", + "className": "org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController", + "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/springframework/web/servlet/ModelAndView;" + } + } + }, + { + "handler": "ResourceHttpRequestHandler [locations=[class path resource [META-INF/resources/webjars/]], resolvers=[org.springframework.web.servlet.resource.PathResourceResolver@62daf04f]]", + "predicate": "/webjars/**" + }, + { + "handler": "ResourceHttpRequestHandler [locations=[class path resource [META-INF/resources/], class path resource [resources/], class path resource [static/], class path resource [public/], ServletContext resource [/]], resolvers=[org.springframework.web.servlet.resource.PathResourceResolver@1eb78885]]", + "predicate": "/**" + } + ] + }, + "servletFilters": [ + { + "name": "webMvcMetricsFilter", + "className": "org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter", + "servletNameMappings": [], + "urlPatternMappings": [ + "/*" + ] + }, + { + "name": "requestContextFilter", + "className": "org.springframework.boot.web.servlet.filter.OrderedRequestContextFilter", + "servletNameMappings": [], + "urlPatternMappings": [ + "/*" + ] + }, + { + "name": "Tomcat WebSocket (JSR356) Filter", + "className": "org.apache.tomcat.websocket.server.WsFilter", + "servletNameMappings": [], + "urlPatternMappings": [ + "/*" + ] + }, + { + "name": "httpPutFormContentFilter", + "className": "org.springframework.boot.web.servlet.filter.OrderedHttpPutFormContentFilter", + "servletNameMappings": [], + "urlPatternMappings": [ + "/*" + ] + }, + { + "name": "hiddenHttpMethodFilter", + "className": "org.springframework.boot.web.servlet.filter.OrderedHiddenHttpMethodFilter", + "servletNameMappings": [], + "urlPatternMappings": [ + "/*" + ] + }, + { + "name": "characterEncodingFilter", + "className": "org.springframework.boot.web.servlet.filter.OrderedCharacterEncodingFilter", + "servletNameMappings": [], + "urlPatternMappings": [ + "/*" + ] + }, + { + "name": "httpTraceFilter", + "className": "org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter", + "servletNameMappings": [], + "urlPatternMappings": [ + "/*" + ] + } + ], + "servlets": [ + { + "mappings": [], + "name": "default", + "className": "org.apache.catalina.servlets.DefaultServlet" + }, + { + "mappings": [ + "/" + ], + "name": "dispatcherServlet", + "className": "org.springframework.web.servlet.DispatcherServlet" + } + ] + } + } + } +} \ No newline at end of file diff --git a/headless-services/commons/commons-boot-app-cli/src/test/resources/live-rm-beans/rms-boot2-webflux.json b/headless-services/commons/commons-boot-app-cli/src/test/resources/live-rm-beans/rms-boot2-webflux.json new file mode 100644 index 000000000..983b92157 --- /dev/null +++ b/headless-services/commons/commons-boot-app-cli/src/test/resources/live-rm-beans/rms-boot2-webflux.json @@ -0,0 +1,163 @@ +{ + "contexts": { + "application": { + "mappings": { + "dispatcherHandlers": { + "webHandler": [ + { + "predicate": "{[/actuator/health],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}", + "handler": "public org.reactivestreams.Publisher> org.springframework.boot.actuate.endpoint.web.reactive.AbstractWebFluxEndpointHandlerMapping$ReadOperationHandler.handle(org.springframework.web.server.ServerWebExchange)", + "details": { + "requestMappingConditions": { + "headers": [], + "methods": [ + "GET" + ], + "patterns": [ + "/actuator/health" + ], + "produces": [ + { + "negated": false, + "mediaType": "application/vnd.spring-boot.actuator.v2+json" + }, + { + "negated": false, + "mediaType": "application/json" + } + ], + "params": [], + "consumes": [] + }, + "handlerMethod": { + "name": "handle", + "className": "org.springframework.boot.actuate.endpoint.web.reactive.AbstractWebFluxEndpointHandlerMapping.ReadOperationHandler", + "descriptor": "(Lorg/springframework/web/server/ServerWebExchange;)Lorg/reactivestreams/Publisher;" + } + } + }, + { + "predicate": "{[/actuator/info],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}", + "handler": "public org.reactivestreams.Publisher> org.springframework.boot.actuate.endpoint.web.reactive.AbstractWebFluxEndpointHandlerMapping$ReadOperationHandler.handle(org.springframework.web.server.ServerWebExchange)", + "details": { + "requestMappingConditions": { + "headers": [], + "methods": [ + "GET" + ], + "patterns": [ + "/actuator/info" + ], + "produces": [ + { + "negated": false, + "mediaType": "application/vnd.spring-boot.actuator.v2+json" + }, + { + "negated": false, + "mediaType": "application/json" + } + ], + "params": [], + "consumes": [] + }, + "handlerMethod": { + "name": "handle", + "className": "org.springframework.boot.actuate.endpoint.web.reactive.AbstractWebFluxEndpointHandlerMapping.ReadOperationHandler", + "descriptor": "(Lorg/springframework/web/server/ServerWebExchange;)Lorg/reactivestreams/Publisher;" + } + } + }, + { + "predicate": "{[/actuator],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}", + "handler": "protected java.util.Map> org.springframework.boot.actuate.endpoint.web.reactive.WebFluxEndpointHandlerMapping.links(org.springframework.web.server.ServerWebExchange)", + "details": { + "requestMappingConditions": { + "headers": [], + "methods": [ + "GET" + ], + "patterns": [ + "/actuator" + ], + "produces": [ + { + "negated": false, + "mediaType": "application/vnd.spring-boot.actuator.v2+json" + }, + { + "negated": false, + "mediaType": "application/json" + } + ], + "params": [], + "consumes": [] + }, + "handlerMethod": { + "name": "links", + "className": "org.springframework.boot.actuate.endpoint.web.reactive.WebFluxEndpointHandlerMapping", + "descriptor": "(Lorg/springframework/web/server/ServerWebExchange;)Ljava/util/Map;" + } + } + }, + { + "predicate": "{[/hello],methods=[GET]}", + "handler": "public java.lang.String com.example.demo.MyController.getMethodName(java.lang.String)", + "details": { + "requestMappingConditions": { + "headers": [], + "methods": [ + "GET" + ], + "patterns": [ + "/hello" + ], + "produces": [], + "params": [], + "consumes": [] + }, + "handlerMethod": { + "name": "getMethodName", + "className": "com.example.demo.MyController", + "descriptor": "(Ljava/lang/String;)Ljava/lang/String;" + } + } + }, + { + "predicate": "{[/pp || /qq],methods=[GET]}", + "handler": "public java.lang.String com.example.demo.MyController.hello()", + "details": { + "requestMappingConditions": { + "headers": [], + "methods": [ + "GET" + ], + "patterns": [ + "/pp", + "/qq" + ], + "produces": [], + "params": [], + "consumes": [] + }, + "handlerMethod": { + "name": "hello", + "className": "com.example.demo.MyController", + "descriptor": "()Ljava/lang/String;" + } + } + }, + { + "predicate": "/webjars/**", + "handler": "ResourceWebHandler [locations=[class path resource [META-INF/resources/webjars/]], resolvers=[org.springframework.web.reactive.resource.PathResourceResolver@5f115dc8]]" + }, + { + "predicate": "/**", + "handler": "ResourceWebHandler [locations=[class path resource [META-INF/resources/], class path resource [resources/], class path resource [static/], class path resource [public/]], resolvers=[org.springframework.web.reactive.resource.PathResourceResolver@526469af]]" + } + ] + } + } + } + } +}