swagger2如何测试单个文件或者多文件上传(springboot)

  All rights reserved.No part of this article may be reproduced or distributed by any means,or stored in a database or retrieval system,without the prior written permission of persistenceGoing author


https://blog.csdn.net/persistencegoing/article/details/84376427

单个文件

@ApiOperation(value = "上传视频接口",notes = "上传视频接口")
@ApiImplicitParams({
        @ApiImplicitParam(name = "uId",value = "上传用户ID,",paramType = "query",required = true,dataType = "int")
})
@PostMapping(value = "/video/uplode", headers = "content-type=multipart/form-data")
public ResponseJsonCode uplode(HttpServletRequest request,@RequestParam(value = "uId", required = true) String uId, @RequestParam(value = "file", required = true) MultipartFile file) {
    Map<String,Object> dataMap = new HashMap<String,Object>();
    String path="";
    log.info("file:"+file.length+"; uId:"+uId+"; path:"+path);
    List<Map<String,Object>> list =  IOUtil.appMvcUpload(path, file, request,dataMap);
    return null==list.get(0).get("error")?ResponseJsonCode.successRequestJsonCode(list):ResponseJsonCode.errorRequestJsonCode(list);
}

至于多文件的我想swagger应该不支持吧,反正我是没研究出来。。

 

多文件(用postman测试)

@ApiOperation(value = "文件上传",notes = "文件上传")
@ApiImplicitParams({
        @ApiImplicitParam(name = "files",value = "多个文件,",paramType = "formData",allowMultiple=true,required = true,dataType = "file"),
        @ApiImplicitParam(name = "uId",value = "上传用户ID,",paramType = "query",required = true,dataType = "int")
})
@PostMapping(value = "/uplode", headers = "content-type=multipart/form-data")
public ResponseJsonCode uplode(HttpServletRequest request,@RequestParam(value = "uId", required = true) String uId, @RequestParam(value = "files", required = true) MultipartFile[] files) {
    Map<String,Object> dataMap = new HashMap<String,Object>();
    String path="";
    log.info("files:"+files.length+";uId:"+uId+":   path:"+path);

    List<Map<String,Object>> list =  IOUtil.appMvcUpload(path, files, request,dataMap);
    return null==list.get(0).get("error")?ResponseJsonCode.successRequestJsonCode(list):ResponseJsonCode.errorRequestJsonCode(list);
}

 

如果postman测试文件上传,后台接受文件为null,则是你postman这边设置有问题

一是看请求方式

二是headers里面是空

三是接受key是否正确

四是文件类型是file

五如果都正确,但是依旧接受是空

则把file类型变text,再重新选择file,重新选择文件上传,这大概是postman的bug吧,我刚刚遇到了,而且我uId是,2      接受了的时候莫名多了一个逗号,再这个一顿瞎几把操作之后就正常了

 

 

如果有帮助到你的话,请记得关注一波

博主强烈推荐:https://blog.csdn.net/persistencegoing/article/details/84376427

希望大家关注我一波,防止以后迷路,有需要的可以加群讨论互相学习java ,学习路线探讨,经验分享与java求职  

群号:721 515 304

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值