从查询参数获取输入并将其传递给虚拟对象后,如何获得响应作为Map

时间:2019-05-03 06:53:56

标签: java spring-boot

我需要为已经执行编程逻辑的方法创建一个传递。我需要传递两个查询参数,一个是现有数据列表的映射(日期),另一个是我们要从资源文件发送的新数据(日期)。最终响应应该是数据列表(日期)的映射。 我面临的问题是在调用现有方法时,我需要发送整个对象,为此,我需要创建一个虚拟对象并填充它。但是不确定如何做到吗?

现有方法:

      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

}


  }

仅供参考:请求应该是这样的

查询参数:

现有: (需要)             (宾语)            这将是一个整数:资源ID与其有效性的对象映射。

它是列表的映射,同时包含生效日期和到期日期。  新: (需要)             这也有一个有效期

确切地说,这必须通过(请求):

  

?existing =%7B“ 1”:%7B“有效开始”:“ 2019-01-01”,“ expiresAfter”:“ 2019-12-31”%7D,“ 2”:%7B“有效开始”: “ 2020-01-01”,“ expiresAfter”:“ 2020-12-31”%7D%7D&new =%7B“有效开始”:“ 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"}}

0 个答案:

没有答案