此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.1

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.1

终结点提供有关应用程序的请求映射的信息。mappings

检索映射

若要检索映射,请向 发出请求,如以下基于 curl 的示例所示:GET/actuator/mappings

$ curl 'http://localhost:38797/actuator/mappings' -i -X GET \
    -H 'accept-encoding: gzip' \
    -H 'user-agent: ReactorNetty/1.1.20' \
    -H 'accept: */*'

生成的响应类似于以下内容:

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Transfer-Encoding: chunked
Date: Thu, 20 Jun 2024 18:36:43 GMT
Content-Length: 5342

{
  "contexts" : {
    "application" : {
      "mappings" : {
        "dispatcherServlets" : {
          "dispatcherServlet" : [ {
            "handler" : "Actuator root web endpoint",
            "predicate" : "{GET [/actuator], produces [application/vnd.spring-boot.actuator.v3+json || application/vnd.spring-boot.actuator.v2+json || application/json]}",
            "details" : {
              "handlerMethod" : {
                "className" : "org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping.WebMvcLinksHandler",
                "name" : "links",
                "descriptor" : "(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)Ljava/util/Map;"
              },
              "requestMappingConditions" : {
                "consumes" : [ ],
                "headers" : [ ],
                "methods" : [ "GET" ],
                "params" : [ ],
                "patterns" : [ "/actuator" ],
                "produces" : [ {
                  "mediaType" : "application/vnd.spring-boot.actuator.v3+json",
                  "negated" : false
                }, {
                  "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.v3+json || application/vnd.spring-boot.actuator.v2+json || application/json]}",
            "details" : {
              "handlerMethod" : {
                "className" : "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler",
                "name" : "handle",
                "descriptor" : "(Ljakarta/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.v3+json",
                  "negated" : false
                }, {
                  "mediaType" : "application/vnd.spring-boot.actuator.v2+json",
                  "negated" : false
                }, {
                  "mediaType" : "application/json",
                  "negated" : false
                } ]
              }
            }
          }, {
            "handler" : "org.springframework.boot.actuate.autoconfigure.endpoint.web.documentation.MappingsEndpointServletDocumentationTests$ExampleController#example()",
            "predicate" : "{POST [/], params [a!=alpha], headers [X-Custom=Foo], consumes [application/json || !application/xml], produces [text/plain]}",
            "details" : {
              "handlerMethod" : {
                "className" : "org.springframework.boot.actuate.autoconfigure.endpoint.web.documentation.MappingsEndpointServletDocumentationTests.ExampleController",
                "name" : "example",
                "descriptor" : "()Ljava/lang/String;"
              },
              "requestMappingConditions" : {
                "consumes" : [ {
                  "mediaType" : "application/json",
                  "negated" : false
                }, {
                  "mediaType" : "application/xml",
                  "negated" : true
                } ],
                "headers" : [ {
                  "name" : "X-Custom",
                  "value" : "Foo",
                  "negated" : false
                } ],
                "methods" : [ "POST" ],
                "params" : [ {
                  "name" : "a",
                  "value" : "alpha",
                  "negated" : true
                } ],
                "patterns" : [ "/" ],
                "produces" : [ {
                  "mediaType" : "text/plain",
                  "negated" : false
                } ]
              }
            }
          }, {
            "handler" : "ResourceHttpRequestHandler [classpath [META-INF/resources/webjars/]]",
            "predicate" : "/webjars/**"
          }, {
            "handler" : "ResourceHttpRequestHandler [classpath [META-INF/resources/], classpath [resources/], classpath [static/], classpath [public/], ServletContext [/]]",
            "predicate" : "/**"
          } ]
        },
        "servletFilters" : [ {
          "servletNameMappings" : [ ],
          "urlPatternMappings" : [ "/*" ],
          "name" : "requestContextFilter",
          "className" : "org.springframework.boot.web.servlet.filter.OrderedRequestContextFilter"
        }, {
          "servletNameMappings" : [ ],
          "urlPatternMappings" : [ "/*" ],
          "name" : "formContentFilter",
          "className" : "org.springframework.boot.web.servlet.filter.OrderedFormContentFilter"
        } ],
        "servlets" : [ {
          "mappings" : [ "/" ],
          "name" : "dispatcherServlet",
          "className" : "org.springframework.web.servlet.DispatcherServlet"
        } ]
      }
    }
  }
}

响应结构

响应包含应用程序映射的详细信息。 响应中的项目取决于 Web 应用程序的类型(响应式或基于 Servlet)。 下表描述了响应的常见元素的结构:

路径 类型 描述

contexts

Object

按 id 键控的应用程序上下文。

contexts.*.mappings

Object

上下文中的映射,按映射类型键控。

contexts.*.mappings.dispatcherServlets

Object

调度程序 Servlet 映射(如果有)。

contexts.*.mappings.servletFilters

Array

Servlet 过滤器映射(如果有)。

contexts.*.mappings.servlets

Array

Servlet 映射(如果有)。

contexts.*.mappings.dispatcherHandlers

Object

调度程序处理程序映射(如果有)。

contexts.*.parentId

String

父应用程序上下文的 ID(如果有)。

以下各节介绍了可以在中找到的条目。contexts.*.mappings

Dispatcher Servlet 响应结构

使用 Spring MVC 时,响应包含 下任何请求映射的详细信息。 下表描述了响应的此部分的结构:DispatcherServletcontexts.*.mappings.dispatcherServlets

路径 类型 描述

*

Array

调度程序 Servlet 映射(如果有),按调度程序 Servlet Bean 名称键控。

*.[].details

Object

有关映射的其他特定于实现的详细信息。自选。

*.[].handler

String

映射的处理程序。

*.[].predicate

String

映射的谓词。

*.[].details.handlerMethod

Object

将处理对此映射的请求的方法(如果有)的详细信息。

*.[].details.handlerMethod.className

Varies

方法类的完全限定名称。

*.[].details.handlerMethod.name

Varies

方法的名称。

*.[].details.handlerMethod.descriptor

Varies

Java 语言规范中指定的方法的描述符。

*.[].details.requestMappingConditions

Object

请求映射条件的详细信息。

*.[].details.requestMappingConditions.consumes

Varies

消耗条件的详细信息

*.[].details.requestMappingConditions.consumes.[].mediaType

Varies

使用的媒体类型。

*.[].details.requestMappingConditions.consumes.[].negated

Varies

是否否定媒体类型。

*.[].details.requestMappingConditions.headers

Varies

标头条件的详细信息。

*.[].details.requestMappingConditions.headers.[].name

Varies

标头的名称。

*.[].details.requestMappingConditions.headers.[].value

Varies

标头的必填值(如果有)。

*.[].details.requestMappingConditions.headers.[].negated

Varies

该值是否被否定。

*.[].details.requestMappingConditions.methods

Varies

处理的 HTTP 方法。

*.[].details.requestMappingConditions.params

Varies

参数条件的详细信息。

*.[].details.requestMappingConditions.params.[].name

Varies

参数的名称。

*.[].details.requestMappingConditions.params.[].value

Varies

参数的必填值(如果有)。

*.[].details.requestMappingConditions.params.[].negated

Varies

该值是否被否定。

*.[].details.requestMappingConditions.patterns

Varies

标识映射处理的路径的模式。

*.[].details.requestMappingConditions.produces

Varies

生产条件的详细信息。

*.[].details.requestMappingConditions.produces.[].mediaType

Varies

生成的媒体类型。

*.[].details.requestMappingConditions.produces.[].negated

Varies

是否否定媒体类型。

Servlet 响应结构

使用 Servlet 堆栈时,响应包含 下任何映射的详细信息。 下表描述了响应的此部分的结构:Servletcontexts.*.mappings.servlets

路径 类型 描述

[].mappings

Array

servlet 的映射。

[].name

String

servlet 的名称。

[].className

String

servlet 的类名

Servlet 过滤器响应结构

使用 Servlet 堆栈时,响应包含 下任何映射的详细信息。 下表描述了响应的此部分的结构:Filtercontexts.*.mappings.servletFilters

路径 类型 描述

[].servletNameMappings

Array

筛选器映射到的 Servlet 的名称。

[].urlPatternMappings

Array

筛选器映射到的 URL 模式。

[].name

String

筛选器的名称。

[].className

String

筛选器的类名

调度程序处理程序响应结构

使用 Spring WebFlux 时,响应包含 下任何请求映射的详细信息。 下表描述了响应的此部分的结构:DispatcherHandlercontexts.*.mappings.dispatcherHandlers

路径 类型 描述

*

Array

调度程序处理程序映射(如果有),按调度程序处理程序 Bean 名称键控。

*.[].details

Object

有关映射的其他特定于实现的详细信息。自选。

*.[].handler

String

映射的处理程序。

*.[].predicate

String

映射的谓词。

*.[].details.requestMappingConditions

Object

请求映射条件的详细信息。

*.[].details.requestMappingConditions.consumes

Varies

消耗条件的详细信息

*.[].details.requestMappingConditions.consumes.[].mediaType

Varies

使用的媒体类型。

*.[].details.requestMappingConditions.consumes.[].negated

Varies

是否否定媒体类型。

*.[].details.requestMappingConditions.headers

Varies

标头条件的详细信息。

*.[].details.requestMappingConditions.headers.[].name

Varies

标头的名称。

*.[].details.requestMappingConditions.headers.[].value

Varies

标头的必填值(如果有)。

*.[].details.requestMappingConditions.headers.[].negated

Varies

该值是否被否定。

*.[].details.requestMappingConditions.methods

Varies

处理的 HTTP 方法。

*.[].details.requestMappingConditions.params

Varies

参数条件的详细信息。

*.[].details.requestMappingConditions.params.[].name

Varies

参数的名称。

*.[].details.requestMappingConditions.params.[].value

Varies

参数的必填值(如果有)。

*.[].details.requestMappingConditions.params.[].negated

Varies

该值是否被否定。

*.[].details.requestMappingConditions.patterns

Varies

标识映射处理的路径的模式。

*.[].details.requestMappingConditions.produces

Varies

生产条件的详细信息。

*.[].details.requestMappingConditions.produces.[].mediaType

Varies

生成的媒体类型。

*.[].details.requestMappingConditions.produces.[].negated

Varies

是否否定媒体类型。

*.[].details.handlerMethod

Object

将处理对此映射的请求的方法(如果有)的详细信息。

*.[].details.handlerMethod.className

String

方法类的完全限定名称。

*.[].details.handlerMethod.name

String

方法的名称。

*.[].details.handlerMethod.descriptor

String

Java 语言规范中指定的方法的描述符。

*.[].details.handlerFunction

Object

将处理对此映射的请求的函数的详细信息(如果有)。

*.[].details.handlerFunction.className

String

函数类的完全限定名称。

路径 类型 描述

contexts

Object

按 id 键控的应用程序上下文。

contexts.*.mappings

Object

上下文中的映射,按映射类型键控。

contexts.*.mappings.dispatcherServlets

Object

调度程序 Servlet 映射(如果有)。

contexts.*.mappings.servletFilters

Array

Servlet 过滤器映射(如果有)。

contexts.*.mappings.servlets

Array

Servlet 映射(如果有)。

contexts.*.mappings.dispatcherHandlers

Object

调度程序处理程序映射(如果有)。

contexts.*.parentId

String

父应用程序上下文的 ID(如果有)。

路径 类型 描述

*

Array

调度程序 Servlet 映射(如果有),按调度程序 Servlet Bean 名称键控。

*.[].details

Object

有关映射的其他特定于实现的详细信息。自选。

*.[].handler

String

映射的处理程序。

*.[].predicate

String

映射的谓词。

*.[].details.handlerMethod

Object

将处理对此映射的请求的方法(如果有)的详细信息。

*.[].details.handlerMethod.className

Varies

方法类的完全限定名称。

*.[].details.handlerMethod.name

Varies

方法的名称。

*.[].details.handlerMethod.descriptor

Varies

Java 语言规范中指定的方法的描述符。

*.[].details.requestMappingConditions

Object

请求映射条件的详细信息。

*.[].details.requestMappingConditions.consumes

Varies

消耗条件的详细信息

*.[].details.requestMappingConditions.consumes.[].mediaType

Varies

使用的媒体类型。

*.[].details.requestMappingConditions.consumes.[].negated

Varies

是否否定媒体类型。

*.[].details.requestMappingConditions.headers

Varies

标头条件的详细信息。

*.[].details.requestMappingConditions.headers.[].name

Varies

标头的名称。

*.[].details.requestMappingConditions.headers.[].value

Varies

标头的必填值(如果有)。

*.[].details.requestMappingConditions.headers.[].negated

Varies

该值是否被否定。

*.[].details.requestMappingConditions.methods

Varies

处理的 HTTP 方法。

*.[].details.requestMappingConditions.params

Varies

参数条件的详细信息。

*.[].details.requestMappingConditions.params.[].name

Varies

参数的名称。

*.[].details.requestMappingConditions.params.[].value

Varies

参数的必填值(如果有)。

*.[].details.requestMappingConditions.params.[].negated

Varies

该值是否被否定。

*.[].details.requestMappingConditions.patterns

Varies

标识映射处理的路径的模式。

*.[].details.requestMappingConditions.produces

Varies

生产条件的详细信息。

*.[].details.requestMappingConditions.produces.[].mediaType

Varies

生成的媒体类型。

*.[].details.requestMappingConditions.produces.[].negated

Varies

是否否定媒体类型。

路径 类型 描述

[].mappings

Array

servlet 的映射。

[].name

String

servlet 的名称。

[].className

String

servlet 的类名

路径 类型 描述

[].servletNameMappings

Array

筛选器映射到的 Servlet 的名称。

[].urlPatternMappings

Array

筛选器映射到的 URL 模式。

[].name

String

筛选器的名称。

[].className

String

筛选器的类名

路径 类型 描述

*

Array

调度程序处理程序映射(如果有),按调度程序处理程序 Bean 名称键控。

*.[].details

Object

有关映射的其他特定于实现的详细信息。自选。

*.[].handler

String

映射的处理程序。

*.[].predicate

String

映射的谓词。

*.[].details.requestMappingConditions

Object

请求映射条件的详细信息。

*.[].details.requestMappingConditions.consumes

Varies

消耗条件的详细信息

*.[].details.requestMappingConditions.consumes.[].mediaType

Varies

使用的媒体类型。

*.[].details.requestMappingConditions.consumes.[].negated

Varies

是否否定媒体类型。

*.[].details.requestMappingConditions.headers

Varies

标头条件的详细信息。

*.[].details.requestMappingConditions.headers.[].name

Varies

标头的名称。

*.[].details.requestMappingConditions.headers.[].value

Varies

标头的必填值(如果有)。

*.[].details.requestMappingConditions.headers.[].negated

Varies

该值是否被否定。

*.[].details.requestMappingConditions.methods

Varies

处理的 HTTP 方法。

*.[].details.requestMappingConditions.params

Varies

参数条件的详细信息。

*.[].details.requestMappingConditions.params.[].name

Varies

参数的名称。

*.[].details.requestMappingConditions.params.[].value

Varies

参数的必填值(如果有)。

*.[].details.requestMappingConditions.params.[].negated

Varies

该值是否被否定。

*.[].details.requestMappingConditions.patterns

Varies

标识映射处理的路径的模式。

*.[].details.requestMappingConditions.produces

Varies

生产条件的详细信息。

*.[].details.requestMappingConditions.produces.[].mediaType

Varies

生成的媒体类型。

*.[].details.requestMappingConditions.produces.[].negated

Varies

是否否定媒体类型。

*.[].details.handlerMethod

Object

将处理对此映射的请求的方法(如果有)的详细信息。

*.[].details.handlerMethod.className

String

方法类的完全限定名称。

*.[].details.handlerMethod.name

String

方法的名称。

*.[].details.handlerMethod.descriptor

String

Java 语言规范中指定的方法的描述符。

*.[].details.handlerFunction

Object

将处理对此映射的请求的函数的详细信息(如果有)。

*.[].details.handlerFunction.className

String

函数类的完全限定名称。