Postman传递对象参数(包含有集合对象)

 更新时间:2022年01月07日 15:41:02   作者:m0_59794830  
postman通常需要传递各式各样的参数,本文主要介绍了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写入对象信息,主要红线的地方

到此这篇关于Postman传递对象参数(包含有集合对象)的文章就介绍到这了,更多相关Postman传递对象参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于Sourcetree启动问题(完美解决)

    关于Sourcetree启动问题(完美解决)

    文章讲述了SourceTree闪退的问题及其解决方法,源因为未关闭SourceTree而关机或系统更新导致缓存信息不匹配,解决方法是删除缓存文件或特定缓存目录中的[Composition.cache]文件
    2024-11-11
  • VSCode如何远程连接Linux教程(密钥的使用)

    VSCode如何远程连接Linux教程(密钥的使用)

    本文主要介绍了VSCode如何远程连接Linux教程,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • git push时卡住的解决方法(长时间不报错也不自动退出)

    git push时卡住的解决方法(长时间不报错也不自动退出)

    这篇文章主要介绍了git push时卡住(长时间不报错也不自动退出),解决方法是通过设置ssh,用ssh来克隆代码然后再进行提交,本文给大家详细解决方案,需要的朋友可以参考下
    2023-01-01
  • idea对CPU的占用率过大问题的解决方法

    idea对CPU的占用率过大问题的解决方法

    本文主要介绍了idea对CPU的占用率过大问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • 水晶报表 分页 的问题

    水晶报表 分页 的问题

    在论坛上经常会看到水晶报表分页的问题,这个很好解决。但是自动插入空白行的问题却一直没有很好的答案,经过研究找到一个变通的办法来实现了。
    2009-04-04
  • IDEA中git撤回上一次push的方法(指定回到某个版本)

    IDEA中git撤回上一次push的方法(指定回到某个版本)

    这篇文章主要介绍了IDEA中git撤回上一次push(指定回到某个版本),本文通过场景图文的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • VSCode让终端默认在当前文件的路径启动(方法推荐)

    VSCode让终端默认在当前文件的路径启动(方法推荐)

    这篇文章主要介绍了VSCode中如何让终端默认在当前文件的路径启动,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • 关于IDEA中Git暂存代码的使用

    关于IDEA中Git暂存代码的使用

    本文主要介绍了关于IDEA中Git暂存代码的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • UTF-8 GBK UTF8 GB2312 之间的区别和关系介绍

    UTF-8 GBK UTF8 GB2312 之间的区别和关系介绍

    UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码
    2011-12-12
  • git中submodule子模块的添加、使用和删除的示例代码

    git中submodule子模块的添加、使用和删除的示例代码

    这篇文章主要介绍了git中submodule子模块的添加、使用和删除的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08

最新评论