Получение шаблона пути от моего контроллера в HandlerInterceptorAdapter - PullRequest
0 голосов
/ 01 ноября 2019

В настоящее время я мигрирую из Джерси в Spring MVC и должен обеспечить такое же поведение и функциональность.

В старой ситуации у нас был Jersey ContainerRequestFilter, который регистрирует метрики Prometheus. Метрика содержит шаблон пути метода ресурса. Например: Мой метод ресурсов:

@GET
@Path("/some/path/{id}")
public void myEndpointMethod() {
...
}

Таким образом, в ContainerRequestFilter мы получили шаблон пути "/some/path/{id}", используя containerRequest.getUriInfo().getMatchedTemplates();

В новой ситуации я создал HandlerInterceptorAdapter, ноЯ не могу найти способ получить тот же шаблон пути, который определен в моем контроллере отдыха.

Мой вопрос: Как я могу получить шаблон пути в HandlerInterceptorAdapter?

Toбудьте понятны, я не хочу получать requestUri ("/some/path/aa-bb-234"), но соответствует шаблону конечной точки ("/some/path/{id}").

1 Ответ

1 голос
/ 01 ноября 2019
@Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        String path = (String)request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);
        System.out.println(path);
        super.postHandle(request, response, handler, modelAndView);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...