我有一个@RequestMapping
的控制器,但我想只在满足某些条件时启用此控制器映射(例如,某些数据库值或其他应用条件允许)。是否可以通过一些简单的方法激活/停用整个@RequestMapping
,例如基于检查来自isMapppingAllowed()
Spring bean的mappingController
之类的方法?是否有可能在上下文已加载时在运行时激活/取消激活?
答案 0 :(得分:0)
不是真的,如果你希望你的控制器在某些条件下不做任何工作,那么你在装载页面时会不会看到404或详细的错误?
答案 1 :(得分:0)
您可以执行以下两项操作之一,第二项是更直接地回答您的问题。
1)处理请求,获取检查是否允许的数据,然后继续处理/拒绝控制器代码中的请求,并根据需要重定向。
2)添加自定义过滤器,或者如果用于身份验证,可以查看spring安全性。
答案 2 :(得分:0)
我认为您可以编写Interceptor或过滤器,因为在两者中都有获取请求对象,因此您可以检查URL并相应地,可以应用您的映射规则。