现在我有一个这样的控制器
@RequestMapping("/content/delete.json")
@Security(auth = AuthType.REQUIRED)
public ModelAndView deleteIndex(User user, @RequestParam("id") long id) {
}
现在我正在尝试从拦截器中获取控制器映射方法,并获取该方法的注释。
Method method = RestRequestURLUtil.getInvokedMethod(handler, request);
Security security = method.getAnnotation(Security.class);
if(security.getAuth() == AuthType.REQUIRED) {
do some validate here
}
有类似于RestRequestURLUtil的类在Spring中吗?
提前致谢 :)
编辑:
web.xml
<servlet>
<servlet-name>rest</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/rest-servlet.xml,
/WEB-INF/interceptor-servlet.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>rest</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
interceptor-server.xml
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**" />
<bean class="com.test.web.interceptors.SecurityInterceptor" init-method="init">
...
</bean>
</mvc:interceptor>
@RequestMapping
似乎不可能将控制器作为“handler”参数。对我来说,这听起来像是SimpleUrlHandlerMapping
找到了处理程序。 - BartSearchJobController
是您期望的控制器吗?看着您的处理方法,似乎不太合逻辑。也许是其他映射优先级更高? - Bart