@Component
@ConfigurationProperties("person")
@RefreshScope
@Validated
public class PersonConfiguration {
@NotBlank
public String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
@RestController
class MessageRestController {
@Autowired
private PersonConfiguration personConfig;
@RequestMapping("/message")
String getMessage() {
return personConfig.getName();
}
}
Конфигурация в git:
person:
name: aaaa
У меня есть служба отдыха, и она имеет конфигурацию, которая читается из git с помощью весеннего облачного конфига.
В конфигурации, когда имя не пустое, и когда кто-то достигает конечной точки /message
, оно возвращает имя правильно. Если кто-то меняет имя на пустую строку и когда вызывается конечная точка /message
, он генерирует исключение привязки, поскольку имя не должно быть пустым.
Если кто-то обновит git config до недопустимого значения, как я могу удержать предыдущую версию этого конфига, чтобы конечная точка /message
все еще работала с предыдущей действительной конфигурацией