假设有一个使用@RestController
注解的“标准”Spring Boot应用程序,例如:
@RestController
@RequestMapping(value = "foo", produces = "application/json;charset=UTF-8")
public class MyController {
@RequestMapping(value = "bar")
public ResponseEntity<String> bar(
return new ResponseEntity<>("Hello world", HttpStatus.OK);
}
}
是否有一种注释或技术可以防止端点在某个应用程序属性存在/不存在的情况下完全启动。
注意:在方法内部测试属性并抛出异常不是解决方案,因为端点将会存在。
我不关心粒度:即启用/禁用单个方法或整个类都可以。
由于配置文件不是属性,因此通过配置文件无法解决我的问题。
@ConditionalOnProperty
,因为它比 SpEL 表达式评估稍微快一点。尝试使用@ConditionalOnProperty(prefix="my.controller", name="enabled")
。 - Phil Webb