Я хочу включить/отключить @RestController
на основе конфигурации, чтобы добиться этого. Я пытаюсь использовать аннотацию @ConditionalOnExpression
.Spring Boot - @ConditionalOnExpression для @RestController
Использования статического жёстко прописанного значения работает просто отлично:
@RestController
@ConditionalOnExpression("true")
public class MyRestController {
@RequestMapping("/hi")
public String hi() {
return "hi";
}
}
Тем не менее, используя динамическое значение свойства в выражении SPEL всегда приводит к не загрузке @RestController
:
@RestController
@ConditionalOnExpression("${my.rest.controller.enabled:false}")
public class MyRestController { ... }
бы действительно ценят любые идеи/лучшие практики для решения этой проблемы.
Спасибо за ответ, проблема заключается в том, что веб-компоненты , и @RestController среди них, являются инициализированными предварительными конфигурациями, поэтому значение $ {value} всегда будет равно нулю. – ranweiz
@ranweiz Как вы это разрешили? в моем случае контроллер всегда работает, даже я использовал @ConditionalOnExpression («1 == 0») –