以编程方式允许@RequestMapping

时间:2014-11-19 17:35:19

标签: java spring-mvc

我有一个@RequestMapping的控制器,但我想只在满足某些条件时启用此控制器映射(例如,某些数据库值或其他应用条件允许)。是否可以通过一些简单的方法激活/停用整个@RequestMapping,例如基于检查来自isMapppingAllowed() Spring bean的mappingController之类的方法?是否有可能在上下文已加载时在运行时激活/取消激活?

3 个答案:

答案 0 :(得分:0)

不是真的,如果你希望你的控制器在某些条件下不做任何工作,那么你在装载页面时会不会看到404或详细的错误?

答案 1 :(得分:0)

您可以执行以下两项操作之一,第二项是更直接地回答您的问题。

1)处理请求,获取检查是否允许的数据,然后继续处理/拒绝控制器代码中的请求,并根据需要重定向。

2)添加自定义过滤器,或者如果用于身份验证,可以查看spring安全性。

答案 2 :(得分:0)

我认为您可以编写Interceptor或过滤器,因为在两者中都有获取请求对象,因此您可以检查URL并相应地,可以应用您的映射规则。