如何知道使用 HttpServletRequest 或 HttpServletResponse 对象调用了哪个 Rest 控制器方法?

How to know which Rest controller method called using HttpServletRequest or HttpServletResponse object?

我正在使用 HandlerInterceptor (import org.springframework.web.servlet.HandlerInterceptor;) 获取 RequestResponse 属性以及使用 preHandle, postHandle 方法的 Header 信息。

现在想知道Controller调用的方法名。如果我们可以使用 HttpServletRequestHttpServletResponse 对象获取该信息,有什么办法吗?

我们需要使用Object handler来获取方法调用的详细信息。请参考下面的代码。

@Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
            ModelAndView modelAndView) throws Exception {

public static String getMethodName(Object handler) {
        String methodName = null;
        if(handler instanceof HandlerMethod) {
            HandlerMethod method = (HandlerMethod) handler;
            methodName = method.getMethod().getName();
        }
        return methodName;
    }