我们的系统在用户界面中具有多个过滤器,并将过滤器类型和搜索文本作为映射传递到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}]