欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用postman傳遞list集合后臺springmvc接收

 更新時間:2021年08月27日 08:44:40   作者:青蛙與大鵝  
這篇文章主要介紹了使用postman傳遞list集合后臺springmvc接收的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

postman傳遞list集合后臺springmvc接收

在做項(xiàng)目的時候我們可能會遇見一些場景需要前端給后端傳遞某個實(shí)體類的集合,這個時候后端的接口寫完了,需要進(jìn)行接口的測試,這里我使用的是postman進(jìn)行接口測試,下面寫下在用postman進(jìn)行接口測試傳遞list集合的經(jīng)驗(yàn)。歡迎指正

postman 設(shè)置

postman的安裝過程這里就不介紹了,直奔主題吧

首先確定你的請求方式是什么,填寫你的url路徑

當(dāng)你的url和請求設(shè)定好之后,就需要我們?nèi)ヌ顚憀ist集合的內(nèi)容了,整體是json串格式的,注意選擇body中的raw, 后面選擇JSON(application/json),當(dāng)這些內(nèi)容都選擇好之后,確定一下Headers中是否已經(jīng)配置好Cookie,如果上面準(zhǔn)備就緒那么你postman這塊的配置就已經(jīng)設(shè)置好了

springmvc配置

錯誤寫法1

@PostMapping("saveActRuleBatch")
    public ResultMsg saveActRuleBatch(List<ActRule> actRule) {
        LOGGER.info("============add.activity.rule.batch param:{}===========", actRule);
        return service.saveActRuleBatch(actRule);
    }

錯誤寫法2

@PostMapping("saveActRuleBatch")
    public ResultMsg saveActRuleBatch(@RequestBody List<ActRule> actRule) {
        LOGGER.info("============add.activity.rule.batch param:{}===========", actRule);
        return service.saveActRuleBatch(actRule);
    }

正確寫法1

@PostMapping("getList")
    public ResultMsg getList(@RequestBody List<String> names) {
        System.out.println(names);
        return null;
    }

正確寫法2

@PostMapping("saveActRuleBatch")
    public ResultMsg saveActRuleBatch(@RequestBody  ActivityModel model) {
        LOGGER.info("============add.activity.rule.batch param:{}===========", model.getActRule());
        return service.saveActRuleBatch(model.getActRule());
    }

ActivityModel實(shí)體

/**
 * @author : lqf
 * @Description :
 * @date : Create in 10:10 2018/11/15
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ActivityModel {
    private List<ActRule> actRule;
    private List<ActRewardRule> actRewardRules;
}

ActRule實(shí)體

package com.fy.crm.server.bean.entity.newActivity;
public class ActRule {
    private Integer id;
    .........................
    正常的實(shí)體類就不寫了
}

錯誤寫法1解析 :

首先Spring MVC在解析集合請求參數(shù)時不會自動的轉(zhuǎn)換成JSON數(shù)據(jù)再解析成相應(yīng)的集合,所以在接受集合信息時需要通過注解@RequestBody進(jìn)行解析

正確寫法1解析 :

正確寫法1我們這里要注意一下,我們通過 @RequestBody進(jìn)行了json解析也能正常使用,但是這里有個限制是集合的泛型必須是基本數(shù)據(jù)類型

錯誤寫法2解析 :

這里我們可能會發(fā)現(xiàn)我們的錯誤寫法2和正確寫法1沒有什么區(qū)別吧,這里最主要的區(qū)別就是他們的泛型一個是基本數(shù)據(jù)類型,一個是封裝好的實(shí)體類。對于這種泛型是封裝好的實(shí)體對象來說正確寫法1是不適用的。

正確寫法2解析 :

這里首先我們需要封裝一個list集合實(shí)體類提供set,get方法,在controller接受參數(shù)的時候我們要通過@RequestBody和封裝好的實(shí)體類來進(jìn)行接受list<實(shí)體泛型> 集合

為什么需要這么定義接受參數(shù)呢

首先我們想一下springmvc在接受參數(shù)的時候我們經(jīng)常是寫一個接受參數(shù)對應(yīng)的實(shí)體對象,我們直接在方法中直接接受實(shí)體對象就能獲取對象中的所有屬性了,這是因?yàn)檫@個實(shí)體對象中提供了setter,getter方法。

那么問題來了,我們現(xiàn)在傳遞的list實(shí)體類型的setter,getter方法在哪里定義了?那么既然沒有定義我們怎么能找到這個list下面對應(yīng)的實(shí)體的getter和setter呢。

所以我們在使用springmvc接受list集合實(shí)體泛型的時候需要定義一個實(shí)體類,實(shí)體類中提供這個集合的setter和getter方法。

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java servlet 幾種頁面跳轉(zhuǎn)的方法

    java servlet 幾種頁面跳轉(zhuǎn)的方法

    java servlet 幾種頁面跳轉(zhuǎn)的方法,需要的朋友可以參考一下
    2013-04-04
  • Springboot使用RestTemplate調(diào)用第三方接口的操作代碼

    Springboot使用RestTemplate調(diào)用第三方接口的操作代碼

    這篇文章主要介紹了Springboot使用RestTemplate調(diào)用第三方接口,我只演示了最常使用的請求方式get、post的簡單使用方法,當(dāng)然RestTemplate的功能還有很多,感興趣的朋友可以參考RestTemplate源碼
    2022-12-12
  • Springboot-yaml配置和自動配置原理分析

    Springboot-yaml配置和自動配置原理分析

    這篇文章主要介紹了Springboot-yaml配置和自動配置原理分析,自動配置原理是配置文件配置debug: true可以在控制臺打印自動配置報告.可以打印所有的啟動的自動配置和沒有啟動的自動配置類,需要的朋友可以參考下
    2021-06-06
  • springboot項(xiàng)目啟動的時候,運(yùn)行main方法報錯NoClassDefFoundError問題

    springboot項(xiàng)目啟動的時候,運(yùn)行main方法報錯NoClassDefFoundError問題

    這篇文章主要介紹了springboot項(xiàng)目啟動的時候,運(yùn)行main方法報錯NoClassDefFoundError問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • SpringBoot集成kaptcha驗(yàn)證碼

    SpringBoot集成kaptcha驗(yàn)證碼

    這篇文章主要為大家詳細(xì)介紹了SpringBoot集成kaptcha驗(yàn)證碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • mybatis-plus動態(tài)數(shù)據(jù)源讀寫分離方式

    mybatis-plus動態(tài)數(shù)據(jù)源讀寫分離方式

    在分布式項(xiàng)目開發(fā)中,動態(tài)數(shù)據(jù)源的配置與使用至關(guān)重要,通過創(chuàng)建DynamicDatasourceService,實(shí)現(xiàn)數(shù)據(jù)源的動態(tài)添加與調(diào)用,有效管理主從庫操作,減輕數(shù)據(jù)庫壓力,此外,通過配置類與@DS注解,實(shí)現(xiàn)了靈活的分庫查詢功能,為高效處理數(shù)據(jù)提供了強(qiáng)有力的支持
    2024-10-10
  • Java Netty核心模塊超詳細(xì)梳理

    Java Netty核心模塊超詳細(xì)梳理

    Netty是一個java開源項(xiàng)目,是一個異步的、基于事件驅(qū)動的網(wǎng)絡(luò)應(yīng)用框架,用以開發(fā)高性能、高可用的網(wǎng)絡(luò)io程序,這篇文章主要介紹了Netty核心模塊
    2022-11-11
  • SpringBoot使用Validator進(jìn)行參數(shù)校驗(yàn)實(shí)戰(zhàn)教程(自定義校驗(yàn),分組校驗(yàn))

    SpringBoot使用Validator進(jìn)行參數(shù)校驗(yàn)實(shí)戰(zhàn)教程(自定義校驗(yàn),分組校驗(yàn))

    這篇文章主要介紹了SpringBoot使用Validator進(jìn)行參數(shù)校驗(yàn)(自定義校驗(yàn),分組校驗(yàn))的實(shí)戰(zhàn)教程,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2023-07-07
  • SpringBoot整合Elasticsearch7.2.0的實(shí)現(xiàn)方法

    SpringBoot整合Elasticsearch7.2.0的實(shí)現(xiàn)方法

    這篇文章主要介紹了SpringBoot整合Elasticsearch7.2.0的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Java是自學(xué)好還是參加培訓(xùn)班好?

    Java是自學(xué)好還是參加培訓(xùn)班好?

    這篇文章主要介紹了Java是自學(xué)好還是參加培訓(xùn)班好這一問題,給大家介紹了哪些人適合自學(xué)java,哪些人適合java培訓(xùn)班學(xué)習(xí),大家可以看看內(nèi)容詳情
    2018-04-04

最新評論