本文介绍了在Spring-mvc拦截器中,如何访问处理程序控制器方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在Spring-mvc拦截器中我想访问处理程序控制器方法
In a Spring-mvc interceptor I want to access to the handler controller method
public class CustomInterceptor implements HandlerInterceptor {
public boolean preHandle(
HttpServletRequest request,HttpServletResponse response,
Object handler) {
log.info(handler.getClass().getName()); //access to the controller class
//I want to have the controller method
...
return true;
}
...
}
我发现:
但它只能解决。我希望方法名称能够访问注释。
But it only work around. I want the method name to access to the annotation.
推荐答案
您可以强制转换对象处理程序
到 HandlerMethod
。
HandlerMethod method = (HandlerMethod) handler;
但请注意,处理程序
参数传递给 preHandle
并不总是 HandlerMethod
(小心 ClassCastException
) 。 HandlerMethod
然后有可用于获取注释的方法等。
Note however that the handler
argument passed to preHandle
is not always a HandlerMethod
(careful with ClassCastException
). HandlerMethod
then has methods you can use to get annotations, etc.
这篇关于在Spring-mvc拦截器中,如何访问处理程序控制器方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!