概述
平时在做项目时,当从前端以json字符串格式向后端传递对象时,后端使用@RequestBody
注解解析为对象,当前端只是传递单个查询参数时,则以@RequestParam
注解来接收参数!
然后今天突然碰到后端的接收参数为List<Long>
的情况,突然不知道是使用@RequestBody
还是@RequestParam
,查询一些资料后,问题得以解决,遂将解决办法记录如下!
可行的解决方案
使用@RequestBody
!
后端接收参数的代码为:注意使用@RequestBody
注解时,应该使用post
方法来传递json数据!
@PostMapping("/delete")
public Result delete(@RequestBody List<Long> ids){
//todo
}
在postman测试工具中,json体为:
[
1,
2,
3
]
如果是List<String>
,与上方代码类似:
@PostMapping("/delete")
public Result delete(@RequestBody List<String> ids){
//todo
}
在postman测试工具中,json体为:
[
"aaa",
"bbb",
"ccc"
]