如何在春季启动时从客户端接收EnumMap

时间:2019-09-25 01:13:21

标签: spring-boot spring-mvc

我们的系统在用户界面中具有多个过滤器,并将过滤器类型和搜索文本作为映射传递到Spring boot REST端点。我们使用以下所有可能的过滤器选项为Enum建模,

public enum TypeEnum {
    TYPE1, TYPE2, TYPE3;
}

下面的代码有效,

@GetMapping("/types/filter")
public void filterTypesByCriteria(@RequestParam Map<String, String> map) {
    System.out.println(map);
}

但是当我们尝试将EnumMap用于多个过滤器时,却没有效果。

@GetMapping("/types/filter")
public void filterTypesByCriteria(@RequestParam EnumMap<AuditFilterEnum, String> map) {
    System.out.println(map);
}

请帮助我们

堆栈跟踪

argument type mismatch
    Controller [com.trailapps.controller.TypeController]
    Method [public void com.trailapps.controller.TypeController.filterTypesByCriteria(java.util.EnumMap<com.trailapps.controller.enums.TypeEnum, java.lang.String>)] with argument values: [0] [type=java.util.LinkedHashMap] [value={TYPE1=12, TYPE2=13}]

0 个答案:

没有答案
相关问题