springmvc /springboot 接收List 入参
原创
©著作权归作者所有:来自51CTO博客作者潇凝子潇的原创作品,请联系作者获取转载授权,否则将追究法律责任
第一种方式:使用@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
[
{
"projectId":"1",
"projectIds":[2,3]
},
{
"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. 结果
有更多方式 ,欢迎小伙伴们请多多指教 !!!