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. 结果
上一篇:自定义一个异常类模板的简单实例
栏 目:JAVA代码
下一篇:Spring定时任务中@PostConstruct被多次执行异常的分析与解决
本文标题:springboot 接收List 入参的几种方法
本文地址:http://www.codeinn.net/misctech/220741.html