Spring框架接收数组或者集合类型参数
方式一:GET方式请求,借助@RequestParam注解接收数组类型参数
- 借助注解接收数组类型参数
@GetMapping("/list") public String listParam(@RequestParam String id, @RequestParam String[] ids){ return "OK"; }
- 发送请求
- 后端参数接收
方式二:GET方式请求,借助@RequestParam注解接收集合类型参数
- 借助注解接收集合类型参数
@GetMapping("/list") public String listParam(@RequestParam String id, @RequestParam List<String> ids){ return "OK"; }
- 发送请求
- 后端参数接收
方式三:GET方式请求,声明集合容器类并借助@ModelAttribute注解接收集合类型参数
- 声明集合容器类
public class IdContainer { // 集合元素可以int/Integer、long/Long等等 private List<String> idList; public List<String> getIdList() { return idList; } public void setIdList(List<String> idList) { this.idList = idList; } }
- 借助注解接收集合类型参数
@GetMapping("/list") public String listParam(@RequestParam String id, @ModelAttribute IdContainer ids){ return "OK"; }
- 发送请求,注意请求参数名与容器类属性名保持一致,与controller集合类型参数名无关
- 后端参数接收
方式四:POST方式请求,借助@RequestBody注解接收数组类型参数
- 借助注解接收数组类型参数
@PostMapping("/list") public String listParam(@RequestParam String id, @RequestBody String[] ids){ return "OK"; }
- 发送请求,在body体内通过json传参
- 后端参数接收
方式五:POST方式请求,声明包含集合/数组请求类并借助@RequestBody注解接收集合类型参数
- 声明请求类
public class RequestParams { private String id; private List<String> idList; private String[] idArray; public String getId() { return id; } public void setId(String id) { this.id = id; } public List<String> getIdList() { return idList; } public void setIdList(List<String> idList) { this.idList = idList; } public String[] getIdArray() { return idArray; } public void setIdArray(String[] idArray) { this.idArray = idArray; } }
- 借助注解接收数组类型参数
@PostMapping("/list") public String listParam(@RequestBody RequestParams ids){ return "OK"; }
- 发送请求
- 后端参数接收
补充方式:GET方式请求,借助@RequestParam注解接收字符串类型参数,后台解析为集合或者数组(不建议)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/78220.html