前言:
在上篇文章中,用Java语言创建的Spring Boot项目中,如何传递数组呢??-CSDN博客,我们了解到Spring Boot项目中如何传递数组,但是,对于同类型的List集合,我们又该如何传递呢??
同样道理,作为后端开发人员,不需要知道前端如何传递给我们List集合,我们只需要去处理即可,其他的一切交给Postman!
根据在Spring Boot项目中传递数组的代码,我们自信满满的写出Spring Boot项目中传递List集合的代码,如下所示:
@RestController
@RequestMapping("/param")
public class ParamController {
//传入数组
@RequestMapping("/m5")
public String m5(String[] array){
return "传入的数组数据为: "+ Arrays.toString(array) + "数组的长度length为: "+ array.length;
}
//传入List集合(错误代码)
@RequestMapping("/m6")
public String m6(List<String> listParam){
return "传入的list数据为: "+ listParam.toString() + "list的长度length为: "+ listParam.size();
}
}
问题:
但是,当我们在浏览器输入:localhost:8080/param/m6?listParam=zhangsan&listParam=lisi&listParam=wangwu
满满的一脸无辜,竟然报错了,不服气的我,再次使用Postman来进行测试:
同样也是满屏的报错!!
但是,突然间发现,错误竟然是500,那么,我们回归Idea的日志进行查看:
简而言之,你写的代码不对!!
解决方案:
当我们在其参数前面加入注解:@RequestParam,便可以正常了!!
@RequestMapping("/m6")
public String m6(@RequestParam List<String> listParam){
return "传入的list数据为: "+ listParam.toString() + "list的长度length为: "+ listParam.size();
}
Postman中的测试为:http://localhost:8080/param/m6?listParam=zhangsan&listParam=lisi&listParam=wangwu
在浏览器中的测试为: