/*集合参数的接收*/
@RequestMapping("/listParam")
//需要用@RequestParam注解来修饰形参才能封装到集合中 集合名和接收到的参数名保持一致
public String complexPojo2(@RequestParam List<String> hobby) {
System.out.println(hobby);//进行输出
return "listParam OJBK!";
}
}
这个时候用postman发送一个带有 java, c++ ,python的get请求内容
控制台上只能打印出[java, C , python] 打印不出++
如下图:
原因:
因为在GET请求中,+符号在URL中具有特殊含义,表示空格的转义。因此,实际上发送的请求参数只包含java和python,而c++被解释成了空格。
为了解决这个问题,可以将+符号手动编码成%2B,即将GET请求中的参数修改为java%2Bc%2B%2B%2Bpython。这样在Spring MVC的@RequestParam注解中,就能正确地接收并存储带有+符号的请求参数了。
如下图所示: