Java接口测试中传参

由于我的Java基础不是很好,加上很少写代码,所以最近在写http接口测试的过程中,遇到了一些传参的问题,调试了很久。在此把有结论的传参类型记录一下,便于后续回顾。

一:固定类型的参数传入

传入固定的invoice类型

刚开始的时候,我把下面的【0:2】当做一个Map类型去处理的,代码如下:

    Map<String, String> invoiceType = new HashMap<>();
    invoiceType.put("0", "2");
    List<Map<String, String>> invoiceTypeList = new ArrayList<>();
    invoiceTypeList.add(invoiceType);

但是调试的时候发现仍是报400错误,才意识到【2】是一个固定的类型,传String即可,0只是一个默认的排序,可以忽略不处理的 ,所以修改了一下代码如下:

    String invoiceType = "2";
    List<String> invoiceTypeList = new ArrayList<>();
    invoiceTypeList.add(invoiceType);

然后就调试成功啦。

二:参数是多个list

参数如下:

要把各个list拆分,分别传参:

    //先定义一个Map类型的参数params
    Map<String, Object> params = new HashMap<>();

    //定义params参数下的accountDocument参数类型
    Map<String, Object> accountDocument = new HashMap<>();
    //给accountDocument传参
    accountDocument.put("accountSetId", "182");
   ...

    //定义params参数下的entryDtoList参数类型
    List<Map<String, Object>> entryDtoList = new ArrayList<>();
   //定义entryDtoList参数下的第一个参数,即参数0
    Map<String, Object> entryDto1 = new HashMap<>();

   //定义参数0下的参数:
    entryDto1.put("unit", null);
    entryDto1.put("fcurCode", null);
    Map<String, String> accountEntry1 = new HashMap<>();

    //根据每层定义的参数分别传参,一层一层嵌套即可
    entryDto1.put("accountEntry", accountEntry1);
    entryDtoList.add(entryDto1);

   //定义entryDtoList参数下的第二个参数,即参数1
    Map<String, Object> entryDto2 = new HashMap<>();
    entryDto2.put("unit", null);
    entryDto2.put("fcurCode", null);
    Map<String, String> accountEntry2 = new HashMap<>();

   //根据每层定义的参数分别传参,一层一层嵌套即可
    entryDto2.put("accountEntry", accountEntry2);
    entryDtoList.add(entryDto2);

    //最后把entryDtoList参数传回到params参数中,完成传参
    params.put("entryDtoList", entryDtoList);

表单类型的参数Form

MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
params.add("remark", "测试");

感想

在http接口中传参,有两个要点。

1.搞清楚要传入参数的类型

目前主要用到的类型是:String/Object/Map/List

Map传值:Map<String,String>、Map<String,Object>
List传值:List<String>、List<Map<String, String>>

2.分清参数的层次,逐层传参

详见【二:参数是多个list】

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容