Tro*_*dor 12 java spring-mvc interceptor
在Spring-mvc拦截器中,我想访问处理程序控制器方法
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;
}
...
}
Run Code Online (Sandbox Code Playgroud)
我已经找到 :
但它只能解决.我希望方法名称可以访问注释.
Sot*_*lis 20
你可以施放Object handler到HandlerMethod.
HandlerMethod method = (HandlerMethod) handler;
Run Code Online (Sandbox Code Playgroud)
但请注意,handler传递给的参数preHandle并不总是HandlerMethod(小心ClassCastException).HandlerMethod然后有你可以用来获取注释的方法等.
dr.*_*use 11
HandlerInterceptors只会为您提供对HandlerMethod的访问权限,如果您已经注册了拦截器,如下所示:
@EnableWebMvc
@Configuration
public class InterceptorRegistry extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(org.springframework.web.servlet.config.annotation.InterceptorRegistry registry) {
registry.addInterceptor(new InternalAccessInterceptor());
registry.addInterceptor(new AuthorizationInterceptor());
}
}
Run Code Online (Sandbox Code Playgroud)
在所有其他情况下,处理程序对象将指向控制器.网上的大多数文档似乎都错过了这个微妙的观点.
| 归档时间: |
|
| 查看次数: |
14427 次 |
| 最近记录: |