java以编程方式允许@RequestMapping
我有一个带有@RequestMapping
的控制器,但我只想在满足某些条件时启用此控制器映射(例如,某些数据库值或其他应用程序条件允许)。是否可以通过一些简单的方法来激活/停用整个@RequestMapping
,例如,基于从mappingController
Springbean检查一些方法,如isMapppingAllowed()
?当上下文已经加载时,是否可以在运行时激活/停用
你可以在下面搜索框中键入要查询的问题!
我有一个带有@RequestMapping
的控制器,但我只想在满足某些条件时启用此控制器映射(例如,某些数据库值或其他应用程序条件允许)。是否可以通过一些简单的方法来激活/停用整个@RequestMapping
,例如,基于从mappingController
Springbean检查一些方法,如isMapppingAllowed()
?当上下文已经加载时,是否可以在运行时激活/停用
# 1 楼答案
我认为您可以编写拦截器或过滤器,因为在这两种情况下,您都可以获取请求对象,因此您可以检查URL,并相应地应用映射规则
# 2 楼答案
不完全是这样,如果你想让你的控制器在某些条件下不做任何lógic在其内部工作的事情,那么在你加载页面时,你宁愿看到404还是一个详细的错误
# 3 楼答案
你可以做两件事中的一件,第二件是更直接地回答你的问题
1)处理请求,获取需要检查是否允许的数据,然后在控制器代码中继续处理/拒绝请求,并根据需要重定向
2)添加一个自定义筛选器,或者如果出于身份验证目的,可以查看spring安全性