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
投稿
猜你喜欢
- pycharm部署anaconda环境Pycharm: python编辑器,社区版本Anaconda:开源的python发行版本(专注于数据
- 本文实例讲述了JS实现匀加速与匀减速运动的方法。分享给大家供大家参考,具体如下:/* * 动画帧函数 * * */ var re
- 前言:支付宝 2022 集五福活动正式开启数据显示,过去六年累计参与支付宝集五福的人数已经超过了 7 亿,每 2 个中国人里就有 1 个曾扫
- 目录需求描述步骤分析和前置知识代码实现写在最后需求描述手上现有若干份财务分析报告的Word文档,如下:每一份Word文档中的内容如下:为了方
- 问题最近,在用SSH框架完成一个实践项目时,碰到了一个莫名其妙的Bug困扰了我好久,最后终于解决,记录如下。问题:同学在测试系统的时候突然发
- 一、Python图像处理PIL库1.1 转换图像格式# PIL(Python Imaging Library)from PIL import
- 文 | 某某白米饭来源:Python 技术「ID: pythonall」微信和 QQ 都有一个存放缓存文件的文件夹,微信在设置 -
- 这篇文章主要介绍了Python实现自定义读写分离代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 用户体验已经是一个老生常谈的话题了。我非常赞同某位达人所说的,用户体验设计应该贯穿于产品从萌芽到出生的整个过程,产品原型、视觉设计、前端开发
- 最近读到一篇关于 Go 反射的文章,作者通过反射给结构体填充字段值的案例,充分利用 Go 的各种内在机理,逐步探讨让代码运行得更快的姿势。文
- Flask提供了多种身份认证方式,其中基于Token的身份认证是其中一种常用方式。基于Token的身份认证通常是在用户登录之后,为用户生成一
- 从几年前开始学习编程直到现在,一直对程序中的异常处理怀有恐惧和排斥心理。之所以这样,是因为不了解。这次攻python,首先把自己最畏惧和最不
- 首先要注册一个账号密码,通过账号密码登录,并且滑块验证,自动输入搜索关键词,进行跳转翻页爬取数据,并保存到Excel文件中。代码运行时,滑块
- 本文实例讲述了python抓取百度首页的方法。分享给大家供大家参考。具体实现方法如下:import urllibdef downURL(ur
- 按单词反转字符串是一道很常见的面试题。在Python中实现起来非常简单。def reverse_string_by_word(s): lst
- time模块中的三种时间表示方式:时间戳结构化时间对象格式化时间字符串1.时间戳时间戳1970.1.1到指定时间到间隔,单位是秒import
- 一、前言刚开始学Python的小伙伴可能会觉得每次写Python打开Cmd或者idle有点烦躁,没有代码补全也没有格式提示等。所以直接上手了
- 为了建设班级主页,买了个空间,支持SA FileUp组件。鼓弄了一天,终于有了大致的了解,下面是我的实例,希望对大家有所帮助。大家可以根据自
- 微信跳一跳自动代码,具体内容如下那个跳一跳python“ * ”,有几个python文件,其中有一个是得到截图,然后鼠标在图片上点击两次,py
- <html> <head> <title> New Document </title> &l