最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用postman傳遞list集合后臺(tái)springmvc接收

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

postman傳遞list集合后臺(tái)springmvc接收

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

postman 設(shè)置

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

首先確定你的請(qǐng)求方式是什么,填寫(xiě)你的url路徑

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

springmvc配置

錯(cuò)誤寫(xiě)法1

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

錯(cuò)誤寫(xiě)法2

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

正確寫(xiě)法1

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

正確寫(xiě)法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í)體類就不寫(xiě)了
}

錯(cuò)誤寫(xiě)法1解析 :

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

正確寫(xiě)法1解析 :

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

錯(cuò)誤寫(xiě)法2解析 :

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

正確寫(xiě)法2解析 :

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

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

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

那么問(wèn)題來(lái)了,我們現(xiàn)在傳遞的list實(shí)體類型的setter,getter方法在哪里定義了?那么既然沒(méi)有定義我們?cè)趺茨苷业竭@個(gè)list下面對(duì)應(yīng)的實(shí)體的getter和setter呢。

所以我們?cè)谑褂胹pringmvc接受list集合實(shí)體泛型的時(shí)候需要定義一個(gè)實(shí)體類,實(shí)體類中提供這個(gè)集合的setter和getter方法。

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

相關(guān)文章

  • JAVA  靜態(tài)的單例的實(shí)例詳解

    JAVA 靜態(tài)的單例的實(shí)例詳解

    這篇文章主要介紹了JAVA 靜態(tài)的單例的實(shí)例詳解的相關(guān)資料,這里提供了實(shí)例方法,來(lái)說(shuō)名不僅實(shí)現(xiàn)了延遲加載,又可以保證線程安全,不影響系統(tǒng)性能,需要的朋友可以參考下
    2017-07-07
  • Java?Springboot異步執(zhí)行事件監(jiān)聽(tīng)和處理實(shí)例

    Java?Springboot異步執(zhí)行事件監(jiān)聽(tīng)和處理實(shí)例

    Java?SpringBoot中,監(jiān)聽(tīng)和處理事件是一種常見(jiàn)的模式,它允許不同的組件之間通過(guò)事件進(jìn)行通信,事件監(jiān)聽(tīng)和處理通常通過(guò)Spring的事件發(fā)布-訂閱模型來(lái)實(shí)現(xiàn),一個(gè)簡(jiǎn)單的Spring?Boot應(yīng)用程序示例,其中將包括事件的定義、事件的發(fā)布以及事件的監(jiān)聽(tīng)
    2024-07-07
  • 淺談java并發(fā)之計(jì)數(shù)器CountDownLatch

    淺談java并發(fā)之計(jì)數(shù)器CountDownLatch

    CountDownLatch是通過(guò)一個(gè)計(jì)數(shù)器來(lái)實(shí)現(xiàn)的,當(dāng)我們?cè)趎ew 一個(gè)CountDownLatch對(duì)象的時(shí)候需要帶入該計(jì)數(shù)器值,該值就表示了線程的數(shù)量。下面我們來(lái)深入了解一下吧
    2019-06-06
  • Java 超詳細(xì)講解ThreadLocal類的使用

    Java 超詳細(xì)講解ThreadLocal類的使用

    寫(xiě)SpringBoot項(xiàng)目的時(shí)候,經(jīng)常用到的一個(gè)保存用戶信息的類就是Threadlocal,我們今天就來(lái)詳細(xì)介紹一下這個(gè)類,感興趣的朋友來(lái)看看吧
    2022-04-04
  • springboot?正確的在異步線程中使用request的示例代碼

    springboot?正確的在異步線程中使用request的示例代碼

    這篇文章主要介紹了springboot中如何正確的在異步線程中使用request,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • SpringCloud筆記(Hoxton)Netflix之Ribbon負(fù)載均衡示例代碼

    SpringCloud筆記(Hoxton)Netflix之Ribbon負(fù)載均衡示例代碼

    這篇文章主要介紹了SpringCloud筆記HoxtonNetflix之Ribbon負(fù)載均衡,Ribbon是管理HTTP和TCP服務(wù)客戶端的負(fù)載均衡器,Ribbon具有一系列帶有名稱的客戶端(Named?Client),對(duì)SpringCloud?Ribbon負(fù)載均衡相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-06-06
  • SpringCloud聲明式Feign客戶端調(diào)用工具使用

    SpringCloud聲明式Feign客戶端調(diào)用工具使用

    這篇文章主要為大家介紹了SpringCloud聲明式Feign客戶端調(diào)用工具使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • SpringMVC MVC架構(gòu)原理及實(shí)現(xiàn)方法詳解

    SpringMVC MVC架構(gòu)原理及實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了SpringMVC MVC架構(gòu)原理及實(shí)現(xiàn)方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Mybatis環(huán)境搭建和使用實(shí)例代碼

    Mybatis環(huán)境搭建和使用實(shí)例代碼

    MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。本文重點(diǎn)給大家介紹Mybatis的環(huán)境搭建和使用實(shí)例代碼,需要的朋友參考下吧
    2017-12-12
  • Flink開(kāi)發(fā)IDEA環(huán)境搭建與測(cè)試的方法

    Flink開(kāi)發(fā)IDEA環(huán)境搭建與測(cè)試的方法

    這篇文章主要介紹了Flink開(kāi)發(fā)IDEA環(huán)境搭建與測(cè)試的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03

最新評(píng)論

库伦旗| 凤城市| 江油市| 天津市| 广宁县| 河池市| 原阳县| 诸暨市| 太谷县| 波密县| 稻城县| 金华市| 伊宁县| 西充县| 响水县| 隆德县| 浮梁县| 丰宁| 中山市| 鸡西市| 礼泉县| 龙海市| 泸水县| 余姚市| 铜梁县| 乌海市| 社旗县| 汉阴县| 阜宁县| 平邑县| 会东县| 威宁| 溧水县| 东源县| 乌兰县| 鞍山市| 漳州市| 武汉市| 临高县| 华宁县| 吉木乃县|