Java Spring MVC:不带参数的日志控制器路径
我正在尝试向SpringMVC应用程序添加一些度量集合。假设我有一个控制器,其映射为:Java Spring MVC:不带参数的日志控制器路径,java,spring-mvc,Java,Spring Mvc,我正在尝试向SpringMVC应用程序添加一些度量集合。假设我有一个控制器,其映射为: /User/{username}/Foobar 我想收集所有控制器映射调用的指标。现在,我可以创建一个处理程序/拦截器并查看请求,但这将为我提供: /User/Charlie/Foobar 这不是我想要的。我希望控制器将自身映射到日志。我不想给每个控制器都添加一些东西。如果可以的话,我也不想使用AOP。我可以想出两个选择: 在我看来,匹配的结果是在类中获得的,该类记录获得的模式(参见第266行)。我会尝
/User/{username}/Foobar
我想收集所有控制器映射调用的指标。现在,我可以创建一个处理程序/拦截器并查看请求,但这将为我提供:
/User/Charlie/Foobar
这不是我想要的。我希望控制器将自身映射到日志。我不想给每个控制器都添加一些东西。如果可以的话,我也不想使用AOP。我可以想出两个选择:
AbstractUrlHandlerMapping
的lookupHandler
方法,并记录/注册所需内容。根据,您可以注册一个不同的版本,以便DispatcherServlet
使用您的版本
在Spring 3.2.x中,不推荐使用DefaultAnnotationHandlerMapping
,因此必须使用不同的类结果表明,Spring在请求本身上挂起了最佳匹配的控制器模式。您可以从handlerinterceptor中获得如下信息:
(String)request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE)
更简单,更明确。