Как получить ответ в виде Map после получения входных данных от параметра запроса и передачи его фиктивному объекту - PullRequest
0 голосов
/ 03 мая 2019

Мне нужно создать проход для метода, который уже выполняет логику программирования. Мне нужно передать два параметра запроса, один - это карта списка существующих данных (дата), а другой - новые данные (дата), которые мы собираемся отправить из файла ресурсов. Окончательным ответом должна быть карта списка данных (даты). Проблема, с которой я сталкиваюсь, заключается в том, что при вызове существующего метода мне нужно отправить весь объект, для этого мне нужно создать фиктивный объект и заполнить его. Но не знаете, как это сделать?

Существующий метод:

      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"}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...