Postman傳遞對(duì)象參數(shù)(包含有集合對(duì)象)
項(xiàng)目場(chǎng)景:
postman通常需要傳遞各式各樣的參數(shù),這樣的話,進(jìn)行寫(xiě)參數(shù)比較頭疼,不知怎么進(jìn)行傳參。
解決方案:
可以考慮將參數(shù)對(duì)象寫(xiě)成json字符串的樣式,然后將將字符串轉(zhuǎn)換成json對(duì)象
實(shí)體類(lèi):
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長(zhǎng)度不能超過(guò)32位")
? ? @Column(name = "BI_RS_ID")
? ? private String biRsId;
? ? /**
? ? ?* 所屬培訓(xùn)班
? ? ?*/
? ? @NotNull(message = "所屬培訓(xùn)班不能為空")
? ? @Length(max = 32,message = "培訓(xùn)班長(zhǎng)度不能超過(guò)32位")
? ? @Column(name = "TERM_NAME")
? ? private String termName;
? ? /**
? ? ?* 發(fā)票購(gòu)買(mǎi)方
? ? ?*/
? ? @NotNull(message = "發(fā)票購(gòu)買(mǎi)方不能為空")
? ? @Length(max = 32,message = "發(fā)票購(gòu)買(mǎi)方長(zhǎng)度不能超過(guò)32位")
? ? @Column(name = "BUYER")
? ? private String buyer;
? ? /**
? ? ?* 發(fā)票銷(xiāo)售方
? ? ?*/
? ? @NotNull(message = "發(fā)票銷(xiāo)售方不能為空")
? ? @Length(max = 32,message = "發(fā)票銷(xiāo)售方長(zhǎng)度不能超過(guò)32位")
? ? @Column(name = "SALLER")
? ? private String saller;
? ? /**
? ? ?* 發(fā)票編號(hào)
? ? ?*/
? ? @Length(max = 32,message = "發(fā)票編號(hào)長(zhǎng)度不能超過(guò)32位")
? ? private String billNo;
? ? /**
? ? ?* 開(kāi)票日期
? ? ?*/
? ? private Date billDate;
? ? /**
? ? ?* 票面金額
? ? ?*/
? ? @Digits(integer = 8,fraction = 2,message = "票面金額整數(shù)上限為8位,小數(shù)點(diǎn)上限為2位")
? ? private BigDecimal billSum;
? ? /**
? ? ?* 復(fù)印件路徑
? ? ?*/
? ? @Length(max = 100,message = "復(fù)印件路徑長(zhǎng)度不能超過(guò)100位")
? ? private String picPath;
? ? /**
? ? ?* 文件擴(kuò)展名稱(chēng)
? ? ?*/
? ? @Length(max = 10,message = "文件擴(kuò)展名稱(chēng)長(zhǎng)度不能超過(guò)100位")
? ? private String picFileExt;
? ? /**
? ? ?* 創(chuàng)建人
? ? ?*/
? ? @Length(max = 32,message = "創(chuàng)建人id長(zhǎng)度不能超過(guò)32位")
? ? private String createId;
? ? /**
? ? ?* 創(chuàng)建時(shí)間
? ? ?*/
? ? private Date createDate;
? ? /**
? ? ?* 修改人
? ? ?*/
? ? @Length(max = 32,message = "修改人id長(zhǎng)度不能超過(guò)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":"語(yǔ)文",
? ? ? ? ? ? "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寫(xiě)入對(duì)象信息,主要紅線的地方:

到此這篇關(guān)于Postman傳遞對(duì)象參數(shù)(包含有集合對(duì)象)的文章就介紹到這了,更多相關(guān)Postman傳遞對(duì)象參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
12種最常用的網(wǎng)頁(yè)編程語(yǔ)言簡(jiǎn)介(值得收藏)
隨著網(wǎng)站的越來(lái)越普及,與Web相關(guān)的開(kāi)發(fā)技術(shù)持續(xù)熱門(mén),從開(kāi)始簡(jiǎn)單的html到復(fù)雜的web開(kāi)發(fā)語(yǔ)言asp、asp.net、php、jsp等等,在此,我就借助SEO馬龍博客的平臺(tái)跟大家簡(jiǎn)單的介紹一下常見(jiàn)的12種網(wǎng)頁(yè)編程語(yǔ)言2017-01-01
vs快捷鍵 用好Ctrl+Enter與Ctrl+Shift+Enter組合鍵讓你的編輯代碼速度快了很多
使用Ctrl+Enter組合鍵在上方插入一行,使用Ctrl+Shift+Enter組合鍵在下方插入一行2011-04-04
HTTP協(xié)議入門(mén)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了HTTP協(xié)議入門(mén)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
使用Postman測(cè)試需要授權(quán)的接口問(wèn)題
Postman是一款免費(fèi)的http模擬請(qǐng)求工具,常用來(lái)測(cè)試開(kāi)發(fā)接口。實(shí)際場(chǎng)景中,很多接口是需要授權(quán)才能使用,這篇文章主要介紹了用Postman測(cè)試需要授權(quán)的接口,需要的朋友可以參考下2022-06-06
解析動(dòng)態(tài)代理jdk的Proxy與spring的CGlib(包括區(qū)別介紹)
Spring是Java程序員基本不可能繞開(kāi)的一個(gè)框架,它的核心思想是IoC(控制反轉(zhuǎn))和AOP(面向切面編程)。本文重點(diǎn)給大家介紹動(dòng)態(tài)代理jdk的Proxy與spring的CGlib,感興趣的朋友跟隨小編一起看看吧2022-01-01
Git恢復(fù)之前版本的兩種方法reset、revert(圖文詳解)
這篇文章主要介紹了Git恢復(fù)之前版本的兩種方法reset、revert(圖文詳解),文中通過(guò)圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07

