为了账号安全,请及时绑定邮箱和手机立即绑定

休息 API 端点

休息 API 端点

互换的青春 2021-10-17 15:49:24
为什么我不能TreeMap<String,String>在 @RequestParam 之后使用 ?当我使用时它有效Map<String,String>例子: @RequestMapping(value = "customers/new", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)        public ResponseEntity<String> createAuthorizationRole(        @RequestParam TreeMap<String, String> hierarchy,        @RequestHeader(name = "userid") String userid,        @RequestHeader(name = "clientid") String clientid,        @RequestHeader(name = "authorization") String authToken) {        return new ResponseEntity<>("new Customer created", HttpStatus.OK);    }这是我看到的错误:java.lang.IllegalStateException: argument type mismatchHandlerMethod details: Controller [com.demo.customer.odr.pc.branchAuthorization.BranchAuthorizationController]Method [public org.springframework.http.ResponseEntity<java.lang.String> com.walmart.replenishment.odr.pc.branchAuthorization.BranchAuthorizationController.createAuthorizationRole(java.util.TreeMap<java.lang.String, java.lang.String>,java.lang.String,java.lang.String,java.lang.String)]Resolved arguments: [0] [type=java.util.LinkedHashMap] [value={country=US, division=1, department=17, category=9295, subcategory=21032, subclass=0, fineline=9379}][1] [type=java.lang.String] [value=office\r0sss][2] [type=java.lang.String] [value=05af7587-2209-49e3-9193-64828ad240b3][3] [type=java.lang.String] [value=dhfdrNGXU7j19DZb]
查看完整描述

1 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

Jackson 在映射抽象类型 Map 时使用 LinkedHashMap 作为默认类型值。您可以自定义您的 ObjectMapper,注册自定义模块。


ObjectMapper mapper = new ObjectMapper();

SimpleModule module = new SimpleModule("custom", Version.unknownVersion());

module.addAbstractTypeMapping(Map.class, TreeMap.class);

mapper.registerModule(module);


查看完整回答
反对 回复 2021-10-17
  • 1 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信