Насколько я понимаю, аннотацию следует использовать для бобов. Либо для метода, который возвращает @Bean
, либо для класса, который является @Component
, @Sevice
или - как в вашем случае - @Controller
.
Метод, который вы аннотируете, не определяет bean-компонент, а является просто методом bean-компонента, который в любом случае определяется.
Чтобы достичь своей цели, вы можете, например,
- помещает конкретную конечную точку в дополнительный
Controller
и комментирует эту
- или используйте аннотацию
@Value
, чтобы получить свойство, и просто добавьте if
к вам метод, который заставляет его возвращать что-то вроде 404
, если свойство не установлено:
Пример последней идеи:
@Value("${test.enabled}")
private boolean testEnabled;
public ResponseEntity test() {
if (!testEnabled) {
return ResponseEntity.notFound().build();
}
// ...
}
Возможно, есть еще варианты.