springboot 接收List 入参的几种方法
作者:潇凝子潇
第一种方式:使用@ModelAttribute 注解 + 对象接收
1. get 请求 入参为 projectIds=1,2,3
2. @RequestMapping("/analysis") 或者 @GetMapping("/analysis") 使用 @ModelAttribute 注解
@RequestMapping("/analysis") public JsonResult queryList (@ModelAttribute PhoneStatisticalAnalysisReq req) { List<PhoneStatisticalAnalysis> result = phoneStatisticalAnalysisService.queryAnalysis(req); return JsonResult.ok(result); }
3.创建一个请求对象,并提供对应的 get set方法 用于注入 参数值
public class PhoneStatisticalAnalysisReq { private List<Long> projectIds; public List<Long> getProjectIds() { return projectIds; } public void setProjectIds(List<Long> projectIds) { this.projectIds = projectIds; } }
4. 结果
第二种方式: 使用 @RequestParam 注解接收
1. get 请求
2.@RequestMapping("/analysis") 或者 @GetMapping("/analysis") 使用 @RequestParam("projectIds") 注解中的参数一定要和 请求地址中的参数一致
@RequestMapping("/analysis") public JsonResult queryList ( @RequestParam("projectIds") List<Long> projectIds) { ... }
传递多个参数
@RequestMapping("/analysis") public JsonResult queryList ( @RequestParam("projectIds") List<Long> projectIds, @RequestParam("projectId") Integer projectId) { .... }
3.结果展示
第三种方式:利用数组接收
1. get请求
2. @RequestMapping("/analysis") 或者 @GetMapping("/analysis") 用数组 接收 名称和 请求参数一一对象即可
@RequestMapping("/analysis") public JsonResult queryList ( Long[] projectIds, Integer projectId) { .... }
3. 结果
第四种方式:
1.post方式请求: json 传送 入参 [1,2,3]
2. 发送请求 请求参数为 必须加入 @RequestBody List<Long> projectIds 注解
@PostMapping("/analysis") public JsonResult queryList (@RequestBody List<Long> projectIds) { .... }
3.结果
第五种方式: @RequestBody 加 对象 接收
1.post Json 请求
2.@RequestBody 加对象
@RequestMapping("/analysis") public JsonResult queryList (@RequestBody PhoneStatisticalAnalysisReq req) { .... }
对象 :
public class PhoneStatisticalAnalysisReq { private Long projectId; private List<Long> projectIds; public Long getProjectId() { return projectId; } public void setProjectId(Long projectId) { this.projectId = projectId; } public List<Long> getProjectIds() { return projectIds; } public void setProjectIds(List<Long> projectIds) { this.projectIds = projectIds; } }
3.结果
第六种方式: 接收list<T>对象
1.请求方式 post json
[ {undefined "projectId":"1", "projectIds":[2,3] }, {undefined "projectId":"2", "projectIds":[4,5] } ]
2. @RequestBody List<PhoneStatisticalAnalysisReq> req
@RequestMapping("/analysis") public JsonResult queryList (@RequestBody List<PhoneStatisticalAnalysisReq> req) { .... }
3. 结果
第七种方式: 利用String 接收然后参数,然后在后台强转
1. get请求
2. 关于强转成list 这里就不做过多赘述
@RequestMapping("/analysis") public JsonResult queryList (String params) { .... }
3. 结果
到此这篇关于springboot 接收List 入参的几种方法的文章就介绍到这了,更多相关springboot 接收List 入参内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!