requestparam不必要地绑定了get请求中的其他请求参数

bjp0bcyl  于 2021-07-22  发布在  Java
关注(0)|答案(1)|浏览(403)

我有这样一个get请求:-

@GetMapping(value = "/foo")
          public Model getSomething(
          @RequestParam(value = "a", required = true) String a,
          @RequestParam(value = "b") String b,
          @RequestParam(value = "c") int c,
          @RequestParam Map<String, String> map) { 

}

问题是当我发出get请求时,a,b,c被包含在Map中。我用过像this:-
/foo?a=a&b=b&c=100&key1=value1&key2=value2
目前的情况是map拥有所有的request param值。例如
a-“a”
b-“b”
c-100型
键1-值1
键2-值2
要求只有键1和键2作为键的map。我只想使用map来提取key1和key2。如何才能做到这一点。

nnsrf1az

nnsrf1az1#

如注解中所述,不能排除 @RequestParam Map。
您的客户机是否可以选择将这些参数作为json对象而不是请求参数发送给body?请求主体通常不会在get请求中发送,但您可以这样做。然后你就会改变 @RequestParam<String, String> map)@RequestBody Map<String, String> map)

相关问题