postman通常需要传递各式各样的参数,本文主要介绍了Postman传递对象参数(包含有集合对象),具有一定的参考价值,感兴趣的小伙伴们可以参考一下

项目场景:

postman通常需要传递各式各样的参数,这样的话,进行写参数比较头疼,不知怎么进行传参。

解决方案:

可以考虑将参数对象写成json字符串的样式,然后将将字符串转换成json对象

实体类:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

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;

}

参数样式:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

{

  "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"

            }

 ]

}

控制层代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

 @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传递对象参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持小编!

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

资料获取方式 :

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐