如何知道使用 HttpServletRequest 或 HttpServletResponse 对象调用了哪个 Rest 控制器方法?
How to know which Rest controller method called using HttpServletRequest or HttpServletResponse object?
我正在使用 HandlerInterceptor
(import org.springframework.web.servlet.HandlerInterceptor;
) 获取 Request
和 Response
属性以及使用 preHandle, postHandle
方法的 Header
信息。
现在想知道Controller调用的方法名。如果我们可以使用 HttpServletRequest
或 HttpServletResponse
对象获取该信息,有什么办法吗?
我们需要使用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;
}
我正在使用 HandlerInterceptor
(import org.springframework.web.servlet.HandlerInterceptor;
) 获取 Request
和 Response
属性以及使用 preHandle, postHandle
方法的 Header
信息。
现在想知道Controller调用的方法名。如果我们可以使用 HttpServletRequest
或 HttpServletResponse
对象获取该信息,有什么办法吗?
我们需要使用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;
}