Мне нужно создать проход для метода, который уже выполняет логику программирования. Мне нужно передать два параметра запроса, один - это карта списка существующих данных (дата), а другой - новые данные (дата), которые мы собираемся отправить из файла ресурсов. Окончательным ответом должна быть карта списка данных (даты).
Проблема, с которой я сталкиваюсь, заключается в том, что при вызове существующего метода мне нужно отправить весь объект, для этого мне нужно создать фиктивный объект и заполнить его. Но не знаете, как это сделать?
Существующий метод:
public static <T extends EffectiveExpiresActive> Pair<List<T>,
List<Pair<T, String>>> updateEffExpAct(
List<T> existingList, T toAdd) {
***** немного логики ***
return Pair.of(mergedList, changedRecords);
}
этот метод возвращает новый список, отсюда нам нужен только объединенный список.
Метод контроллера:
@GetMapping("/calculateValiditiesGivenNewValidity")
public Map<Integer, ValidityComponent> calculateValiditiesGivenNewValidity(
@RequestParam List<CalculateValidityResource> valreso) {
return EffectiveExpiresActiveUtil
.updateEffExpAct(valreso.stream().getClass(), valreso.stream().forEach(e -> e.getNews())).getKey()
.stream().map(ValidityComponent::new).collect(Collectors.toList());
}
Я пробовал что-то подобное выше, но получаю ошибку только при записи.
Файл ресурса:
@NoArgsConstructor
@Data
public class CalculateValidityResource {
private Map<Integer, ValidityComponent> existing = new HashMap<>();
private ValidityComponent news;
}
Создание фиктивного объекта:
public class CalculateValidity implements EffectiveExpires {
@Override
public LocalDate getEffectiveDate() {
// TODO Auto-generated method stub
return null;
}
@Override
public void setEffectiveDate(LocalDate effectiveDate) {
// TODO Auto-generated method stub
}
@Override
public LocalDate getExpirationDate() {
// TODO Auto-generated method stub
return null;
}
@Override
public void setExpirationDate(LocalDate expirationDate) {
// TODO Auto-generated method stub
}
}
К вашему сведению: запрос должен выглядеть примерно так
ОПРОСНЫЕ ПАРАМЕТРЫ:
существует:
(требуется)
(Объект)
это будет целое число: сопоставление объекта идентификатора ресурса с его действительностью.
Это карта списка, которая имеет дату вступления в силу и срок действия.
новый:
(требуется)
также имеет срок годности и дату вступления в силу
Именно это должно быть передано (запрос):
? * * 1 032 =% существующего 7B "1":% 7B "effectiveStarting": "2019-01-01", "expiresAfter": "2019-12-31" % 7D, "2":% 7B "effectiveStarting": "2020-01-01", "expiresAfter": "2020-12-31" % 7D% 7D & новое =% 7B "effectiveStarting": "2019-07-01", "expiresAfter": "2020-06-30" % 7D
ответ:
{"1":\{"effectiveStarting":"2019-01-01","expiresAfter":"2019-06-30"}
,"2":{"effectiveStarting":"2020-07-01","expiresAfter":"2020-12-31"}}