用于翻转其余端点的功能的java注释
我有一个带有多个(REST)端点的spring控制器。我想提出这个控制器的多个实例,其中每个实例都有几个端点被选择性地启用/禁用
根据我到目前为止的阅读,togglz提供了功能翻转,但它没有启用/禁用其余端点(togglz提供了API,以便调用方代码可以检查功能是否已启用);ff4j似乎是另一种选择,但从文档中看,它是否可以启用/禁用REST端点并不十分明显
我阅读了线程Feature Toggling Java Annotations,但它是一个较长的实现。是否有任何包可用于指定需要在配置文件中启用/禁用的端点,并使用REST端点上的注释来禁用/启用它们(这样,我的方法中的逻辑保持不变并最小化测试)
# 1 楼答案
带有
@Bean
或@Component
的类将由spring在启动时通过bean访问者机制加载。要在启动时从Spring上下文中排除这个bean,您可以创建一个BeanPostProcessor
(here)并检查专用注释,但据我所知,您不能在运行时将bean放回上下文因此,您必须使这个bean“智能化”,以便在收到请求时执行正确的操作/模拟(或发送503 HTTP代码)
FF4j确实可以帮助您实现这种行为,但不能在REST控制器上使用单个注释。你能做的是:
下面是一些代码片段,以了解这一点:
您可以切换单个方法或整个类,因为您希望所有示例都可用here