Postman传递对象参数(包含有集合对象)
作者:m0_59794830 发布时间:2023-06-08 04:10:14
标签:Postman,传递,对象参数
项目场景:
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
0
投稿
猜你喜欢
- 看一个例子d={'test':1}d_test=dd_test['test']=2print d如果你在命令
- 这是个郁闷的问题。主级获得ID列表 select ID from FS_SD_Address where PID=0
- 一、Python urllib 模块是什么urllib 模块是 Python 标准库,其价值在于抓取网络上的 URL 资源,入门爬
- Python基础语法-容器容器型数据类型是指可以包含多个多种数据类型数据的数据类型。1.列表(list)1.1 列表基本概念列表是Pytho
- 之前使用的python的smtplib、email模块发模块的一步步骤是:一、先导入smtplib模块 导入MIMEText库用
- 多条ROC曲线绘制函数def multi_models_roc(names, sampling_methods, colors, X_tes
- 昨日内容:ORM高级查询-filterid=3id__gt=3id__lt=3id__lte=3id__gte=3-in /not in.f
- max() 方法返回其参数最大值:最接近正无穷大的值。语法以下是max()方法的语法:max( x, y, z, .... )参
- 读取一个已经保存了的字典f = open('dict_th','r')a = f.read()dict_hi
- 下面为大家举一个例子,请按照下面的步骤: (1)从http://home.gbsource.net/xuankong/dll.z
- 目前已经有很多生成html的新闻系统,但是都是用的模板,本函数实现把asp页面产生的html代码保存成为一个html文件,这样就没有必要改动
- iframe的背景颜色在IE下为window的当前窗口颜色(默认白色,可以在显示外观处对其进行设置),这导致在大幅背景上插入iframe时,
- 当存储一个CHAR值时, Mysql会除去尾随空间, 这个行为有点让人困惑, 用一个具体的例子来看一下: 首先 ,创建一个只有一个CHAR(
- 微信小程序实现图片轮播及文件上传刚刚接触微信小程序,看着网上的资源写了个小例子,本地图片轮播以及图片上传。图片轮播:index.
- plt.plot()函数各参数解析plt.plot()函数的作用是绘制折线图,它的参数有很多,常用的函数参数如下:plt.plot(x,y,
- 本文实例讲述了Python实现的重启关机程序的方法,对Python程序设计有一定的参考价值。具体方法如下:实例代码如下:#!/usr/bin
- 在密码学中,ElGamal加密算法是一个基于迪菲-赫尔曼密钥交换的非对称加密算法。它在1985年由塔希尔·盖莫尔提出。GnuPG和PGP等很
- 英文原文:http://www.myinkblog.com/2009/03/21/4-principles-of-good-design-f
- 这篇文章主要介绍了如何获取Python简单for循环索引,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 1.如何在网页中插入空格 我们在用Dreamweaver的所见即所得编辑模式下编辑中文网页时,往往需要