日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Postman傳遞對象參數(包含有集合對象)_相關技巧

作者:m0_59794830 ? 更新時間: 2022-03-26 編程語言

項目場景:

postman通常需要傳遞各式各樣的參數,這樣的話,進行寫參數比較頭疼,不知怎么進行傳參。

解決方案:

可以考慮將參數對象寫成json字符串的樣式,然后將將字符串轉換成json對象

實體類:

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;
? ? /**
? ? ?* 所屬培訓班
? ? ?*/

? ? @NotNull(message = "所屬培訓班不能為空")
? ? @Length(max = 32,message = "培訓班長度不能超過32位")
? ? @Column(name = "TERM_NAME")
? ? private String termName;
? ? /**
? ? ?* 發票購買方
? ? ?*/
? ? @NotNull(message = "發票購買方不能為空")
? ? @Length(max = 32,message = "發票購買方長度不能超過32位")
? ? @Column(name = "BUYER")
? ? private String buyer;
? ? /**
? ? ?* 發票銷售方
? ? ?*/
? ? @NotNull(message = "發票銷售方不能為空")
? ? @Length(max = 32,message = "發票銷售方長度不能超過32位")
? ? @Column(name = "SALLER")
? ? private String saller;

? ? /**
? ? ?* 發票編號
? ? ?*/
? ? @Length(max = 32,message = "發票編號長度不能超過32位")
? ? private String billNo;
? ? /**
? ? ?* 開票日期
? ? ?*/
? ? private Date billDate;
? ? /**
? ? ?* 票面金額
? ? ?*/
? ? @Digits(integer = 8,fraction = 2,message = "票面金額整數上限為8位,小數點上限為2位")
? ? private BigDecimal billSum;
? ? /**
? ? ?* 復印件路徑
? ? ?*/
? ? @Length(max = 100,message = "復印件路徑長度不能超過100位")
? ? private String picPath;
? ? /**
? ? ?* 文件擴展名稱
? ? ?*/
? ? @Length(max = 10,message = "文件擴展名稱長度不能超過100位")
? ? private String picFileExt;
? ? /**
? ? ?* 創建人
? ? ?*/
? ? @Length(max = 32,message = "創建人id長度不能超過32位")
? ? private String createId;
? ? /**
? ? ?* 創建時間
? ? ?*/
? ? private Date createDate;
? ? /**
? ? ?* 修改人
? ? ?*/
? ? @Length(max = 32,message = "修改人id長度不能超過32位")
? ? private String modifyId;
? ? /**
? ? ?* 修改時間
? ? ?*/
? ? private Date modifyDate;
? ? /**
? ? ?* 從表集合
? ? ?*/
? ? @Transient
? ? @Valid
? ? private List<DetailCjyModel> list;
}

參數樣式:

{
? "biRsId":"",
? "termName":"實訓",
? "buyer":"學生",
? "saller":"學校",
? "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":"數學",
? ? ? ? ? ? "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傳文件和集合對象的參數

補充:Postman測試接口傳遞對象參數

url:

使用的是post方式請求

在Headers設置:

在Body寫入對象信息,主要紅線的地方

原文鏈接:https://blog.csdn.net/m0_59794830/article/details/119033042

欄目分類
最近更新