SpringBoot如何接收数组参数的方法
作者:小诸葛的博客
这篇文章主要介绍了SpringBoot如何接收数组参数的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
1.创建一个表单实体类,将数组封装到实体类中(Post提交)
表单类代码:
@Data public class MyForm { private int[] ids; }
控制器代码:
@Slf4j @RestController @RequestMapping("/info") public class InfoController { @PostMapping("/test") public String test(@RequestBody MyForm form){ log.info(Arrays.toString(form.getIds())); return "success"; } }
前端代码:
wx.request({ url:'http://localhost:8085/info/test', data:{ ids:[1,2,3] }, method:'POST', success:function(res){ console.log(res); } })
2.通过方法内参数传递,注意!!!SpringBoot方法内接收数组时,数组在前端请求时必须将参数拼接在路径里提交才可以接收到。(Get提交)
后端代码:
@Slf4j @RestController @RequestMapping("/info") public class InfoController { @GetMapping("/test") public String test(int[] ids){ log.info(Arrays.toString(ids)); return "success"; } }
小程序前端代码:参数需拼接到路径里,并且要以GET方式提交
var ids = [1, 2, 3, 4] wx.request({ url: 'http://localhost:8085/info/test?ids='+ids, method: 'GET', success: function(res){ console.log(res); } })
请求头:
vue axios前端代码(注意,数组需要调用encodeURIComponent进行编码):
test() { let ary = [1,2,3] let params = { ids:encodeURIComponent(ary),}; that.$http.get("http://localhost:8085/info/test",{params}).then(res=>{ if(res.code==0){ that.$message.success('查询成功') }else { that.$message.error(res.message||'查询失败') } }).catch(error=>{ that.$message.error('查询失败') }) }
注意!!!请求路径中的参数必须跟上图所示的一样才能被接收到。
到此这篇关于SpringBoot如何接收数组参数的方法的文章就介绍到这了,更多相关SpringBoot接收数组参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!