我有一个这样的 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 被包含在地图中时。 我使用过这样的映射:-
/foo?a=A&b=B&c=100&key1=value1&key2=value2
目前正在发生的是 map 具有所有请求参数值。例如
a-"a"
b-"b"
c-100
key1-value1
key2-value2
要求是只有 key1 和 key2 作为键的映射。 我只想使用 map 来提取 key1 和 key2。 这是如何实现的。
答案 0 :(得分:0)
如评论中所述,您不能排除 @RequestParam
地图的参数。
您的客户是否可以选择将那些带有正文的参数作为 json 对象而不是请求参数发送?请求正文通常不会在 GET 请求中发送,但您可以这样做。然后您将 @RequestParam<String, String> map)
更改为 @RequestBody Map<String, String> map)