我有一堆控制器,例如:
@RestController
public class AreaController {
@RequestMapping(value = "/area", method = RequestMethod.GET)
public @ResponseBody ResponseEntity<Area> get(@RequestParam(value = "id", required = true) Serializable id) { ... }
}
Run Code Online (Sandbox Code Playgroud)
我需要拦截所有到达他们的请求,
我创建了一个像这个例子的拦截器:
http://www.mkyong.com/spring-mvc/spring-mvc-handler-interceptors-example/
但它永远不会进入:(
因为我只使用注释,所以我没有定义拦截器的 XML,我发现它是这样设置的:
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.test.app")
public class AppConfig extends WebMvcConfigurerAdapter {
@Bean
public ControllerInterceptor getControllerInterceptor() {
ControllerInterceptor c = new ControllerInterceptor();
return c;
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(getControllerInterceptor());
super.addInterceptors(registry);
}
}
Run Code Online (Sandbox Code Playgroud)
我做错了什么还是我错过了什么?
所以显然我做错了什么但不能说是什么
定义拦截器如下:
<mvc:interceptors>
<bean class="com.test.ControllerInterceptor" />
</mvc:interceptors>
Run Code Online (Sandbox Code Playgroud)
我很确定你也可以在纯java中定义它,但这是有效的,
答案位于: http: //viralpatel.net/blogs/spring-mvc-interceptor-example/
| 归档时间: |
|
| 查看次数: |
22569 次 |
| 最近记录: |