@FunctionalInterface
public interface ServiceCaller {
void callService();
}
//common method to execute any service call
public void executeService(ServiceCaller serviceCaller) {
//do common things
//i want to access dbValidationRequest/apiValidationRequest here for logging purpose
try {
serviceCaller.callService();
} catch (Exception ex) {
//do common things
LogUtils.log(logger, ex);
}
//do common things
}
//my clients call this
public void validateFromDb(DbValidationRequest dbValidationRequest){
commonUtils.executeService(()-> dbValidationService.validate(dbValidationRequest));
}
//my clients call this
public void validateFromApi(ApiValidationRequest apiValidationRequest){
commonUtils.executeService(()-> apiValidationService.validate(apiValidationRequest));
}
Это контроллер Java Spring Application. Внутри метода executeService я передаю экземпляр интерфейса ServiceCaller . Я вызываю все свои услуги с контроллера, используя этот метод. если я оцениваю с помощью intelliJ IDEA, то я могу просмотреть значения dbValidationRequest / apiValidationRequest внутри метода executeService (как arg $ 2, см. прилагаемое изображение). Мне нужно распечатать эти объекты для целей регистрации, я также не хочу использовать аспект вообще. Как я могу это сделать. Если intelliJ IDEA может видеть значения, почему я не могу программно?