Как выполнить перекрестную проверку свойств в Spring Boot?JAVA

Программисты JAVA общаются здесь
Anonymous
Как выполнить перекрестную проверку свойств в Spring Boot?

Сообщение Anonymous »

Мое приложение имеет следующие свойства

Код: Выделить всё

employeeEngine.callLegacy=true
employeeEngine.callNewApi=true
Я хочу, чтобы можно было вызывать либо только устаревшую службу, либо новую конечную точку API (для получения тех же данных) вместе с устаревшей версией, либо только новую конечную точку (без вызова устаревшей).
Единственное, чего я не хочу, — это не вызывать ни одну из них!
Я мог бы сам выполнить простую пользовательскую проверку в бизнес-службе (я внедряю свойства в поля класса)

Код: Выделить всё

public class BusinessService {
@Value("employeeEngine.callLegacy:true")
private boolean callLegacy;

@Value("employeeEngine.callNewApi:true")
private boolean callNewApi;

// constructor
// public methods with business logic

private boolean someInternalMethod() {
if (!callLegacy && !callNewApi) {
LOGGER.error("Bad!!");
throw new BusinessException("At least one of {callLegacy} or {callNewApi} should be set");
}
}
}
Но мне кажется, что такой вид проверки лучше использовать, например, в классе @ConfigurationProperties.
Это нормально или есть более эффективные способы проверки комбинаций свойств?
Примечание: есть ли способ получить значение свойства для регистрации или для отображения в сообщениях об исключениях?>

Вернуться в «JAVA»