postman 上传文件 body里面可写注释 自动登陆

一、param传集合 数组

不需要引号
在这里插入图片描述

二、body 控制器@requestBody

hearders要加 Content-Type:application/json

场景a、body传对象, 对象里面有集合数组

在这里插入图片描述

场景b、body传集合
 public void createCubicles(@RequestBody List<CubicleDto> cubicleList){

在这里插入图片描述

三、PostMan传文件

在这里插入图片描述

控制器
@GetMapping("/upload")
public File upload(@RequestParam(value = "file") MultipartFile multipartFile) {}

四、PostMan又传文件又传对象

1、控制器

//方式一
@ApiOperation("新增图纸")
 @PostMapping("/add")
 public DwgAddVO add(@Valid @ModelAttribute("dwgAddDTO") DwgAddDTO dwgAddDTO, @RequestParam(value = "file") MultipartFile multipartFile) {
     return dwgService.add(dwgAddDTO, multipartFile);
 }

//方式二
@ApiOperation(value = "发送带有多附件邮件")
@RequestMapping(value = "/emailWithMultiAttachment", method = RequestMethod.POST, consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})
@ResponseBody
Result<Void> sendEmailWithMultiAttachment(@RequestParam(value = "email") String email,
                                          @RequestParam(value = "subject") String subject,
                                          @RequestParam(value = "content") String content,
                                          @RequestParam(value = "senderName") String senderName,
                                          @RequestPart("file") MultipartFile... multipartFiles) {
    EmailSendDto emailSendDto = new EmailSendDto();
    emailSendDto.setSubject(subject);
    emailSendDto.setSenderName(senderName);
    emailSendDto.setContent(content);
    emailSendDto.setEmail(email);
    return emailService.sendEmailWithAttachment(emailSendDto, multipartFiles);
}

2、postman传参方式

dwgAddDTO在params
文件在Body里面的form-data
在这里插入图片描述
在这里插入图片描述

3、feign调用方式(控制器第二种,第一种没试过)

@RequestMapping(value = "/message/emailWithMultiAttachment", method = RequestMethod.POST, consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})
@ResponseBody
Result<Void> sendEmailWithMultiAttachment(@RequestParam(value = "email") String email,
                                          @RequestParam(value = "subject") String subject,
                                          @RequestParam(value = "content") String content,
                                          @RequestParam(value = "senderName") String senderName,
                                          @RequestPart("file") MultipartFile... multipartFiles);

五、设置统一的域名

1、environment添加环境
在这里插入图片描述

2、接口选择环境并且引用域名
在这里插入图片描述

六、设置统一的token

1、文件夹设置token
在这里插入图片描述
2、子文件夹和接口的授权继承自parent
在这里插入图片描述

七、body里面可以写注释

在接口所在文件夹,也可以最顶级文件夹,在Pre-request Script里面写上下面代码,然后body里面就可以写注释//注释11  或者/**注释222 **/
if (pm?.request?.body?.mode === 'raw') {
    const rawData = pm.request.body.toString();
    const strippedData = rawData.replace(
        /\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g,
        (m, g) => g ? "" : m
    );
    // pm.request.body.update(JSON.stringify(JSON.parse(strippedData)));
    pm.request.body.raw = JSON.stringify(JSON.parse(strippedData));
}

在这里插入图片描述

八、设置变量与变量引用

变量声明:在接口所在文件夹,也可以最顶级文件夹,点击variables
变量引用,在接口用{{sn}}引用

在这里插入图片描述

九、导出与导入

导出:选择文件夹右边的三个点,有个export(注意是一级文件夹才有export按钮)

导入:菜单栏的下面有个Import按钮,点击,选择文件就可以了

十、自动登陆

/**
先使用环境变量参数 请求一个简单接口 看看返回值状态是否正确
如果正确代表当前的 Authorization 的token值任然有效无需更新
否则就调用登陆接口 将返回的token值赋值给 环境变量 Authorization
**/

const getRequest = {
  url:  pm.collectionVariables.get("data-service") + '/system/domain',
    method: 'GET',
  header: {
    'Content-Type': 'application/json',
    'Authorization': pm.collectionVariables.get("Authorization")
  }
};

pm.sendRequest(getRequest, function (err, response) {
  console.log(response.json())
  if (response.json().code == 10005001 || response.json().code == 10005002 ||   response.json().code == 10001244) {
    console.log("当前的token 失效");
    const postRequest = {
      url: pm.collectionVariables.get("saas-access-app") + '/portal/login',
      method: 'POST',
      header: {
        'Content-Type': 'application/json'
      },
      body: {
        mode: 'raw',
        raw: JSON.stringify({
          "account": pm.collectionVariables.get("account"),
          "password": pm.collectionVariables.get("password"),
          "isEncryption": 2,
          "loginFrom": "WEB",
          "appId": "Chargebusi"
        })
      }
    };
    pm.sendRequest(postRequest, function (err, response) {
      console.log(response.json());
      if (response.json().code == 200) {
        console.log(response.json().data.token);
        pm.collectionVariables.set("Authorization", response.json().data.token);
      }
    });
    console.log("111111");
  } else {
    console.log("token 未失效");
    console.log(response.json());
  }
});
  • 10
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飘然生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值