亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用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í)體類(lèi)的集合,這個(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í)體類(lèi)就不寫(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ù)類(lèi)型

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

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

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

這里首先我們需要封裝一個(gè)list集合實(shí)體類(lèi)提供set,get方法,在controller接受參數(shù)的時(shí)候我們要通過(guò)@RequestBody和封裝好的實(shí)體類(lèi)來(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í)體類(lèi)型的setter,getter方法在哪里定義了?那么既然沒(méi)有定義我們?cè)趺茨苷业竭@個(gè)list下面對(duì)應(yīng)的實(shí)體的getter和setter呢。

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

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

相關(guān)文章

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

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

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

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

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

    Springboot-yaml配置和自動(dòng)配置原理分析

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

    springboot項(xiàng)目啟動(dòng)的時(shí)候,運(yùn)行main方法報(bào)錯(cuò)NoClassDefFoundError問(wèn)題

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

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

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

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

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

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

    Netty是一個(gè)java開(kāi)源項(xiàng)目,是一個(gè)異步的、基于事件驅(qū)動(dòng)的網(wǎng)絡(luò)應(yīng)用框架,用以開(kāi)發(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)教程,本文通過(guò)示例代碼給大家介紹的非常詳細(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)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Java是自學(xué)好還是參加培訓(xùn)班好?

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

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

最新評(píng)論