pom.xml






​<?xml version="1.0" encoding="UTF-8"?>​












​<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"​






​ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">​






​ <modelVersion>4.0.0</modelVersion>​












​ <artifactId>demoservice</artifactId>​












​ <name>demoservice</name>​






​ <!-- FIXME change it to the project's website -->​






​ <url>http://www.example.com</url>​


















​ <parent>​






​ <groupId>org.springframework.boot</groupId>​






​ <artifactId>spring-boot-starter-parent</artifactId>​






​ <version>2.1.6.RELEASE</version>​






​ <relativePath/> <!-- lookup parent from repository -->​






​ </parent>​












​ <properties>​






​ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>​






​ <maven.compiler.source>1.8</maven.compiler.source>​






​ <maven.compiler.target>1.8</maven.compiler.target>​






​ <spring-cloud.version>Greenwich.SR2</spring-cloud.version>​






​ </properties>​






​ <dependencyManagement>​






​ <dependencies>​






​ <dependency>​






​ <groupId>org.springframework.cloud</groupId>​






​ <artifactId>spring-cloud-dependencies</artifactId>​






​ <version>${spring-cloud.version}</version>​






​ <type>pom</type>​






​ <scope>import</scope>​






​ </dependency>​






​ </dependencies>​






​ </dependencyManagement>​












​ <dependencies>​






​ <dependency>​






​ <groupId>org.springframework.boot</groupId>​






​ <artifactId>spring-boot-starter-web</artifactId>​






​ </dependency>​






​ <dependency>​






​ <groupId>org.springframework.boot</groupId>​






​ <artifactId>spring-boot-starter-actuator</artifactId>​






​ </dependency>​






​ <dependency>​






​ <groupId>org.springframework.boot</groupId>​






​ <artifactId>spring-boot-starter-test</artifactId>​






​ <scope>test</scope>​






​ </dependency>​






​ </dependencies>​












​ <build>​






​ <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->​






​ <plugins>​






​ <plugin>​






​ <groupId>org.springframework.boot</groupId>​






​ <artifactId>spring-boot-maven-plugin</artifactId>​






​ </plugin>​






​ </plugins>​






​ </pluginManagement>​






​ </build>​






​</project>​


application.yml






​server:​






​ # 适用于本地调试,防止端口冲突​






​ port: ${random.int[8000,9000]}​












​# springboot 2.1.6 引入actuator需要声明导出的接口,否则不会像早期版本那样自动映射出去​






​management:​






​ endpoints:​






​ web:​






​ exposure:​






​ include: "*"​


启动服务,输出日志:






​ . ____ _ __ _ _​






​ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \​






​( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \​






​ \\/ ___)| |_)| | | | | || (_| | ) ) ) )​






​ ' |____| .__|_| |_|_| |_\__, | / / / /​






​ =========|_|==============|___/=/_/_/_/​






​ :: Spring Boot :: (v2.1.6.RELEASE)​












​2019-08-20 16:55:15.502 INFO 2320 --- [ main] com.hknaruto.DemoServiceApp : Starting DemoServiceApp on localhost.localdomain with PID 2320 (/home/yeqiang/IdeaProjects/springclouddemo/demoservice/target/classes started by yeqiang in /home/yeqiang/IdeaProjects/springclouddemo)​






​2019-08-20 16:55:15.514 INFO 2320 --- [ main] com.hknaruto.DemoServiceApp : No active profile set, falling back to default profiles: default ​






​2019-08-20 16:55:16.825 INFO 2320 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8073 (http)​






​2019-08-20 16:55:16.849 INFO 2320 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]​






​2019-08-20 16:55:16.849 INFO 2320 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.21]​






​2019-08-20 16:55:16.929 INFO 2320 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext​






​2019-08-20 16:55:16.929 INFO 2320 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1332 ms​






​2019-08-20 16:55:17.400 INFO 2320 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' ​






​2019-08-20 16:55:17.616 INFO 2320 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 15 endpoint(s) beneath base path '/actuator' ​






​2019-08-20 16:55:17.684 INFO 2320 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8073 (http) with context path '' ​






​2019-08-20 16:55:17.686 INFO 2320 --- [ main] com.hknaruto.DemoServiceApp : Started DemoServiceApp in 2.63 seconds (JVM running for 3.01)​






​2019-08-20 16:55:30.432 INFO 2320 --- [nio-8073-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' ​






​2019-08-20 16:55:30.432 INFO 2320 --- [nio-8073-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' ​






​2019-08-20 16:55:30.439 INFO 2320 --- [nio-8073-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 7 ms​


访问:​​http://127.0.0.1:8073/actuator​​ 得到:






​{​






​ "_links": {​






​ "self": {​






​ "href": "http://127.0.0.1:8073/actuator",​






​ "templated": false​






​ },​






​ "auditevents": {​






​ "href": "http://127.0.0.1:8073/actuator/auditevents",​






​ "templated": false​






​ },​






​ "beans": {​






​ "href": "http://127.0.0.1:8073/actuator/beans",​






​ "templated": false​






​ },​






​ "caches-cache": {​






​ "href": "http://127.0.0.1:8073/actuator/caches/{cache}",​






​ "templated": true​






​ },​






​ "caches": {​






​ "href": "http://127.0.0.1:8073/actuator/caches",​






​ "templated": false​






​ },​






​ "health-component": {​






​ "href": "http://127.0.0.1:8073/actuator/health/{component}",​






​ "templated": true​






​ },​






​ "health": {​






​ "href": "http://127.0.0.1:8073/actuator/health",​






​ "templated": false​






​ },​






​ "health-component-instance": {​






​ "href": "http://127.0.0.1:8073/actuator/health/{component}/{instance}",​






​ "templated": true​






​ },​






​ "conditions": {​






​ "href": "http://127.0.0.1:8073/actuator/conditions",​






​ "templated": false​






​ },​






​ "configprops": {​






​ "href": "http://127.0.0.1:8073/actuator/configprops",​






​ "templated": false​






​ },​






​ "env-toMatch": {​






​ "href": "http://127.0.0.1:8073/actuator/env/{toMatch}",​






​ "templated": true​






​ },​






​ "env": {​






​ "href": "http://127.0.0.1:8073/actuator/env",​






​ "templated": false​






​ },​






​ "info": {​






​ "href": "http://127.0.0.1:8073/actuator/info",​






​ "templated": false​






​ },​






​ "loggers": {​






​ "href": "http://127.0.0.1:8073/actuator/loggers",​






​ "templated": false​






​ },​






​ "loggers-name": {​






​ "href": "http://127.0.0.1:8073/actuator/loggers/{name}",​






​ "templated": true​






​ },​






​ "heapdump": {​






​ "href": "http://127.0.0.1:8073/actuator/heapdump",​






​ "templated": false​






​ },​






​ "threaddump": {​






​ "href": "http://127.0.0.1:8073/actuator/threaddump",​






​ "templated": false​






​ },​






​ "metrics": {​






​ "href": "http://127.0.0.1:8073/actuator/metrics",​






​ "templated": false​






​ },​






​ "metrics-requiredMetricName": {​






​ "href": "http://127.0.0.1:8073/actuator/metrics/{requiredMetricName}",​






​ "templated": true​






​ },​






​ "scheduledtasks": {​






​ "href": "http://127.0.0.1:8073/actuator/scheduledtasks",​






​ "templated": false​






​ },​






​ "httptrace": {​






​ "href": "http://127.0.0.1:8073/actuator/httptrace",​






​ "templated": false​






​ },​






​ "mappings": {​






​ "href": "http://127.0.0.1:8073/actuator/mappings",​






​ "templated": false​






​ }​






​ }​






​}​


说明:

1. 响应内容经过手动json格式化

2. json内容显示了所有支持的导出方法,与老版本有一定差异

 

访问mapping接口,​​http://127.0.0.1:8073/actuator/mappings​​ 响应如下:






​{​






​ "contexts": {​






​ "application": {​






​ "mappings": {​






​ "dispatcherServlets": {​






​ "dispatcherServlet": [{​






​ "handler": "ResourceHttpRequestHandler [class path resource [META-INF/resources/], class path resource [resources/], class path resource [static/], class path resource [public/], ServletContext resource [/], class path resource []]",​






​ "predicate": "/**/favicon.ico",​






​ "details": null​






​ }, {​






​ "handler": "Actuator web endpoint 'auditevents'",​






​ "predicate": "{GET /actuator/auditevents, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/auditevents"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'beans'",​






​ "predicate": "{GET /actuator/beans, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/beans"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'caches-cache'",​






​ "predicate": "{DELETE /actuator/caches/{cache}, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["DELETE"],​






​ "params": [],​






​ "patterns": ["/actuator/caches/{cache}"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'caches'",​






​ "predicate": "{GET /actuator/caches, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/caches"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'caches'",​






​ "predicate": "{DELETE /actuator/caches}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["DELETE"],​






​ "params": [],​






​ "patterns": ["/actuator/caches"],​






​ "produces": []​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'caches-cache'",​






​ "predicate": "{GET /actuator/caches/{cache}, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/caches/{cache}"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'health-component'",​






​ "predicate": "{GET /actuator/health/{component}, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/health/{component}"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'health'",​






​ "predicate": "{GET /actuator/health, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/health"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'health-component-instance'",​






​ "predicate": "{GET /actuator/health/{component}/{instance}, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/health/{component}/{instance}"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'conditions'",​






​ "predicate": "{GET /actuator/conditions, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/conditions"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'configprops'",​






​ "predicate": "{GET /actuator/configprops, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/configprops"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'env-toMatch'",​






​ "predicate": "{GET /actuator/env/{toMatch}, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/env/{toMatch}"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'env'",​






​ "predicate": "{GET /actuator/env, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/env"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'info'",​






​ "predicate": "{GET /actuator/info, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/info"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'loggers'",​






​ "predicate": "{GET /actuator/loggers, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/loggers"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'loggers-name'",​






​ "predicate": "{GET /actuator/loggers/{name}, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/loggers/{name}"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'loggers-name'",​






​ "predicate": "{POST /actuator/loggers/{name}, consumes [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }],​






​ "headers": [],​






​ "methods": ["POST"],​






​ "params": [],​






​ "patterns": ["/actuator/loggers/{name}"],​






​ "produces": []​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'heapdump'",​






​ "predicate": "{GET /actuator/heapdump, produces [application/octet-stream]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/heapdump"],​






​ "produces": [{​






​ "mediaType": "application/octet-stream",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'threaddump'",​






​ "predicate": "{GET /actuator/threaddump, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/threaddump"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'metrics'",​






​ "predicate": "{GET /actuator/metrics, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/metrics"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'metrics-requiredMetricName'",​






​ "predicate": "{GET /actuator/metrics/{requiredMetricName}, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/metrics/{requiredMetricName}"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'scheduledtasks'",​






​ "predicate": "{GET /actuator/scheduledtasks, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/scheduledtasks"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'httptrace'",​






​ "predicate": "{GET /actuator/httptrace, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/httptrace"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator web endpoint 'mappings'",​






​ "predicate": "{GET /actuator/mappings, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",​






​ "name": "handle",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator/mappings"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "Actuator root web endpoint",​






​ "predicate": "{GET /actuator, produces [application/vnd.spring-boot.actuator.v2+json || application/json]}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping.WebMvcLinksHandler",​






​ "name": "links",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Ljava/lang/Object;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": ["GET"],​






​ "params": [],​






​ "patterns": ["/actuator"],​






​ "produces": [{​






​ "mediaType": "application/vnd.spring-boot.actuator.v2+json",​






​ "negated": false​






​ }, {​






​ "mediaType": "application/json",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "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": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController",​






​ "name": "errorHtml",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/springframework/web/servlet/ModelAndView;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": [],​






​ "params": [],​






​ "patterns": ["/error"],​






​ "produces": [{​






​ "mediaType": "text/html",​






​ "negated": false​






​ }]​






​ }​






​ }​






​ }, {​






​ "handler": "public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)",​






​ "predicate": "{ /error}",​






​ "details": {​






​ "handlerMethod": {​






​ "className": "org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController",​






​ "name": "error",​






​ "descriptor": "(Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/http/ResponseEntity;"​






​ },​






​ "requestMappingConditions": {​






​ "consumes": [],​






​ "headers": [],​






​ "methods": [],​






​ "params": [],​






​ "patterns": ["/error"],​






​ "produces": []​






​ }​






​ }​






​ }, {​






​ "handler": "ResourceHttpRequestHandler [\"classpath:/META-INF/resources/webjars/\"]",​






​ "predicate": "/webjars/**",​






​ "details": null​






​ }, {​






​ "handler": "ResourceHttpRequestHandler [\"classpath:/META-INF/resources/\", \"classpath:/resources/\", \"classpath:/static/\", \"classpath:/public/\", \"/\"]",​






​ "predicate": "/**",​






​ "details": null​






​ }]​






​ },​






​ "servletFilters": [{​






​ "servletNameMappings": [],​






​ "urlPatternMappings": ["/*"],​






​ "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": "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": ["/*"],​






​ "name": "formContentFilter",​






​ "className": "org.springframework.boot.web.servlet.filter.OrderedFormContentFilter"​






​ }],​






​ "servlets": [{​






​ "mappings": [],​






​ "name": "default",​






​ "className": "org.apache.catalina.servlets.DefaultServlet"​






​ }, {​






​ "mappings": ["/"],​






​ "name": "dispatcherServlet",​






​ "className": "org.springframework.web.servlet.DispatcherServlet"​






​ }]​






​ },​






​ "parentId": null​






​ }​






​ }​






​}​