为什么我们不能将请求参数映射为方法中的Map参数?

时间:2016-12-12 19:55:55

标签: spring-boot

我正在尝试将输入参数传递为Map。

@RequestParam(value = "map") Map<String, String> map

2 个答案:

答案 0 :(得分:0)

您使用的HTTP方法是什么?因为它真的取决于那个。如果您正在使用POST,请查看此Spring @RequestParam Map<String, String> does not work in POST method

答案 1 :(得分:0)

我们不应该对Map Params使用@RequestParam(value =&#34; map&#34;)。如果我们将map作为参数Map传递,它将生成所有请求参数作为键值。所以我们不能宣布这个价值。如果我们将值声明为@RequestParam(value =&#34; map&#34;)。我们最终会遇到以下问题。

&#34;消息&#34; :&#34;无法将[java.lang.String]类型的值转换为必需的类型[java.util.Map];嵌套异常是java.lang.IllegalStateException:无法将类型[java.lang.String]的值转换为必需的类型[java.util.Map]:找不到匹配的编辑器或转换策略&#34;,

我建议使用。 @RequestParam地图 要么 @RequestParam MultiValueMap地图

这很好用。