Postman傳遞對(duì)象參數(shù)(包含有集合對(duì)象)
項(xiàng)目場(chǎng)景:
postman通常需要傳遞各式各樣的參數(shù),這樣的話,進(jìn)行寫參數(shù)比較頭疼,不知怎么進(jìn)行傳參。
解決方案:
可以考慮將參數(shù)對(duì)象寫成json字符串的樣式,然后將將字符串轉(zhuǎn)換成json對(duì)象
實(shí)體類:
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.ibatis.annotations.Param;
import org.hibernate.validator.constraints.Length;
import org.springframework.validation.annotation.Validated;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.validation.Valid;
import javax.validation.constraints.Digits;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "ssm_funds_main")
public class FunsCjyModel implements Serializable {
? ? private static final long serialVersionUID = 1L;
? ? /**
? ? ?* 主表id
? ? ?*/
? ? @Id
? ?// @NotNull(message = "id不能為空")
? ? @Length(max = 32,message = "主表id長度不能超過32位")
? ? @Column(name = "BI_RS_ID")
? ? private String biRsId;
? ? /**
? ? ?* 所屬培訓(xùn)班
? ? ?*/
? ? @NotNull(message = "所屬培訓(xùn)班不能為空")
? ? @Length(max = 32,message = "培訓(xùn)班長度不能超過32位")
? ? @Column(name = "TERM_NAME")
? ? private String termName;
? ? /**
? ? ?* 發(fā)票購買方
? ? ?*/
? ? @NotNull(message = "發(fā)票購買方不能為空")
? ? @Length(max = 32,message = "發(fā)票購買方長度不能超過32位")
? ? @Column(name = "BUYER")
? ? private String buyer;
? ? /**
? ? ?* 發(fā)票銷售方
? ? ?*/
? ? @NotNull(message = "發(fā)票銷售方不能為空")
? ? @Length(max = 32,message = "發(fā)票銷售方長度不能超過32位")
? ? @Column(name = "SALLER")
? ? private String saller;
? ? /**
? ? ?* 發(fā)票編號(hào)
? ? ?*/
? ? @Length(max = 32,message = "發(fā)票編號(hào)長度不能超過32位")
? ? private String billNo;
? ? /**
? ? ?* 開票日期
? ? ?*/
? ? private Date billDate;
? ? /**
? ? ?* 票面金額
? ? ?*/
? ? @Digits(integer = 8,fraction = 2,message = "票面金額整數(shù)上限為8位,小數(shù)點(diǎn)上限為2位")
? ? private BigDecimal billSum;
? ? /**
? ? ?* 復(fù)印件路徑
? ? ?*/
? ? @Length(max = 100,message = "復(fù)印件路徑長度不能超過100位")
? ? private String picPath;
? ? /**
? ? ?* 文件擴(kuò)展名稱
? ? ?*/
? ? @Length(max = 10,message = "文件擴(kuò)展名稱長度不能超過100位")
? ? private String picFileExt;
? ? /**
? ? ?* 創(chuàng)建人
? ? ?*/
? ? @Length(max = 32,message = "創(chuàng)建人id長度不能超過32位")
? ? private String createId;
? ? /**
? ? ?* 創(chuàng)建時(shí)間
? ? ?*/
? ? private Date createDate;
? ? /**
? ? ?* 修改人
? ? ?*/
? ? @Length(max = 32,message = "修改人id長度不能超過32位")
? ? private String modifyId;
? ? /**
? ? ?* 修改時(shí)間
? ? ?*/
? ? private Date modifyDate;
? ? /**
? ? ?* 從表集合
? ? ?*/
? ? @Transient
? ? @Valid
? ? private List<DetailCjyModel> list;
}參數(shù)樣式:
{
? "biRsId":"",
? "termName":"實(shí)訓(xùn)",
? "buyer":"學(xué)生",
? "saller":"學(xué)校",
? "billNo":"20210722",
? "billSum":"900.00",
? "createId":"CJY",
? "list":[
? ? ? ? ? ? {
? ? ? ? ? ? "rsId":"",
? ? ? ? ? ? "itemName":"語文",
? ? ? ? ? ? "itemSpec":"私人",
? ? ? ? ? ? "itemUnit":"元",
? ? ? ? ? ? "qty":"10.00",
? ? ? ? ? ? "price":"30.00",
? ? ? ? ? ? "subSum":"300.00",
? ? ? ? ? ? "taxPercent":"0.1",
? ? ? ? ? ? "taxAtm":"30.0"
? ? ? ? ? ? },
{
? ? ? ? ? ? "rsId":"",
? ? ? ? ? ? "itemName":"數(shù)學(xué)",
? ? ? ? ? ? "itemSpec":"集體",
? ? ? ? ? ? "itemUnit":"元",
? ? ? ? ? ? "qty":"20.00",
? ? ? ? ? ? "price":"30.00",
? ? ? ? ? ? "subSum":"600.00",
? ? ? ? ? ? "taxPercent":"0.1",
? ? ? ? ? ? "taxAtm":"60.0"
? ? ? ? ? ? }
?]
}控制層代碼:
?@RequestMapping("/insertFunsDetailTwo")
? ? @ResponseBody
? ? public ResultMap insertFunsDetailTwo(String dataStr,@RequestParam (value = "file",required = false) MultipartFile file){
? ? ? ? JSONObject dataStrMap = JSONObject.parseObject(dataStr);
? ? ? ? FunsCjyModel funsCjyModel = new FunsCjyModel();
? ? ? ? funsCjyModel.setTermName((String)dataStrMap.get("termName"));
? ? ? ? funsCjyModel.setBuyer((String)dataStrMap.get("buyer"));
? ? ? ? funsCjyModel.setSaller((String)dataStrMap.get("saller"));
? ? ? ? funsCjyModel.setBillNo((String)dataStrMap.get("billNo"));
? ? ? ? funsCjyModel.setBillSum(funsModelCjyServiceImpl.stringBigeDecimal((String)dataStrMap.get("billSum")));
? ? ? ? funsCjyModel.setCreateId((String)dataStrMap.get("createId"));
? ? ? ? String list1 = JSON.toJSONString(dataStrMap.get("list"));
? ? ? ? List<DetailCjyModel> list = JSONArray.parseArray(list1,DetailCjyModel.class);
? ? ? ? funsCjyModel.setList(list);
? ? ? ? return funsModelCjyService.insertFunsAndDetail(funsCjyModel,file);
? ? }這樣的話可以用postman的form-data傳文件和集合對(duì)象的參數(shù)

補(bǔ)充:Postman測(cè)試接口傳遞對(duì)象參數(shù)
url:

使用的是post方式請(qǐng)求
在Headers設(shè)置:

在Body寫入對(duì)象信息,主要紅線的地方:

到此這篇關(guān)于Postman傳遞對(duì)象參數(shù)(包含有集合對(duì)象)的文章就介紹到這了,更多相關(guān)Postman傳遞對(duì)象參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于Sourcetree啟動(dòng)問題(完美解決)
文章講述了SourceTree閃退的問題及其解決方法,源因?yàn)槲搓P(guān)閉SourceTree而關(guān)機(jī)或系統(tǒng)更新導(dǎo)致緩存信息不匹配,解決方法是刪除緩存文件或特定緩存目錄中的[Composition.cache]文件2024-11-11
VSCode如何遠(yuǎn)程連接Linux教程(密鑰的使用)
本文主要介紹了VSCode如何遠(yuǎn)程連接Linux教程,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
git?push時(shí)卡住的解決方法(長時(shí)間不報(bào)錯(cuò)也不自動(dòng)退出)
這篇文章主要介紹了git?push時(shí)卡住(長時(shí)間不報(bào)錯(cuò)也不自動(dòng)退出),解決方法是通過設(shè)置ssh,用ssh來克隆代碼然后再進(jìn)行提交,本文給大家詳細(xì)解決方案,需要的朋友可以參考下2023-01-01
IDEA中g(shù)it撤回上一次push的方法(指定回到某個(gè)版本)
這篇文章主要介紹了IDEA中g(shù)it撤回上一次push(指定回到某個(gè)版本),本文通過場(chǎng)景圖文的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
VSCode讓終端默認(rèn)在當(dāng)前文件的路徑啟動(dòng)(方法推薦)
這篇文章主要介紹了VSCode中如何讓終端默認(rèn)在當(dāng)前文件的路徑啟動(dòng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03
UTF-8 GBK UTF8 GB2312 之間的區(qū)別和關(guān)系介紹
UTF-8:Unicode TransformationFormat-8bit,允許含BOM,但通常不含BOM。是用以解決國際上字符的一種多字節(jié)編碼,它對(duì)英文使用8位(即一個(gè)字節(jié)),中文使用24為(三個(gè)字節(jié))來編碼2011-12-12
git中submodule子模塊的添加、使用和刪除的示例代碼
這篇文章主要介紹了git中submodule子模塊的添加、使用和刪除的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08

