Spring框架接收数组/集合类型参数

导读:本篇文章讲解 Spring框架接收数组/集合类型参数,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

Spring框架接收数组或者集合类型参数

方式一:GET方式请求,借助@RequestParam注解接收数组类型参数

  1. 借助注解接收数组类型参数
    @GetMapping("/list")
    public String listParam(@RequestParam String id, @RequestParam String[] ids){
        return "OK";
    }
    
  2. 发送请求
    在这里插入图片描述
  3. 后端参数接收
    在这里插入图片描述

方式二:GET方式请求,借助@RequestParam注解接收集合类型参数

  1. 借助注解接收集合类型参数
    @GetMapping("/list")
    public String listParam(@RequestParam String id, @RequestParam List<String> ids){
        return "OK";
    }
    
  2. 发送请求
    在这里插入图片描述
  3. 后端参数接收
    在这里插入图片描述

方式三:GET方式请求,声明集合容器类并借助@ModelAttribute注解接收集合类型参数

  1. 声明集合容器类
    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;
    	}
    }
    
  2. 借助注解接收集合类型参数
    @GetMapping("/list")
    public String listParam(@RequestParam String id, @ModelAttribute IdContainer ids){
        return "OK";
    }
    
  3. 发送请求,注意请求参数名与容器类属性名保持一致,与controller集合类型参数名无关
    在这里插入图片描述
  4. 后端参数接收
    在这里插入图片描述

方式四:POST方式请求,借助@RequestBody注解接收数组类型参数

  1. 借助注解接收数组类型参数
    @PostMapping("/list")
    public String listParam(@RequestParam String id, @RequestBody String[] ids){
        return "OK";
    }
    
  2. 发送请求,在body体内通过json传参
    在这里插入图片描述
  3. 后端参数接收
    在这里插入图片描述

方式五:POST方式请求,声明包含集合/数组请求类并借助@RequestBody注解接收集合类型参数

  1. 声明请求类
    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;
     	}
    }
    
  2. 借助注解接收数组类型参数
    @PostMapping("/list")
    public String listParam(@RequestBody RequestParams ids){
        return "OK";
    }
    
  3. 发送请求
    在这里插入图片描述
  4. 后端参数接收
    在这里插入图片描述

补充方式:GET方式请求,借助@RequestParam注解接收字符串类型参数,后台解析为集合或者数组(不建议)

  1. 借助注解接收数组类型参数
    @GetMapping("/list")
    public String listParam(@RequestParam String id, @RequestParam String ids){
    	//数组/集合元素为其他类型时字符串转换一下
        String[] idArray = ids.split(",");
        ArrayList<String> idList = new ArrayList<>();
        for (String idString : idArray) {
            idList.add(idString);
        }
        return "OK";
    }
    
  2. 发送请求
    在这里插入图片描述
  3. 后端参数接收
    在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/78220.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!