首頁 > 軟體

springboot 接收List 入參的幾種方法

2022-03-30 13:01:38

第一種方式:使用@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 入參內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com