Как выполнить перекрестную проверку свойств в 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.
Это нормально или есть более эффективные способы проверки комбинаций свойств?
Примечание: есть ли способ получить значение свойства для регистрации или для отображения в сообщениях об исключениях?>
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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