使用swagger 时,往往会用到类似下面这样的注解

@ApiImplicitParam(name = "id", value = "主键", dataType = "int", paramType = "query")

网上说这里的dataType 类型有String / int两种,其余的都是无用的。
但是如果需要传递的参数是List类型,应该怎么办?

首先直接在浏览器中输入网址,传递参数(xxx?idList=1,2,3)来测试,是没有问题的

在swagger中如果直接使用int,List<Integer> 这样的参数,会导致swagger无法测试接口,如下:

@ApiImplicitParam(name = "idList", value = "id列表", required = true, dataType = "int", paramType = "query")

后来我的一个复杂的做法是:把List的所有值传一个String类型的参数,用中括号包起来,最后再解析。形如 xxx?idList=[1,2,3] ,可以实现效果,但是比较麻烦

再后来突然发现一个很简单的解决办法
那就是去掉@ApiImplicitParam 注解(注:我的swagger 版本是2.8.0,)

比如:

@ApiOperation("批量查询课程信息")

public Result listXxxByIdList(@RequestParam(value = "idList") List<Long> idList) {...}

这样以后,测试的时候,就可以添加、删除List参数了,这个参数的类型是array[], 如下图:

可能是因为后来的swagger版本能够自动识别方法中的参数了,这样做的缺点只是没有中文描述而已

当然如果非要加上中文描述也是可以的,那就是使用 @ApiParam 注解,如下:

@ApiOperation("批量查询课程信息")

public Result listXxxByIdList(@RequestParam(value = "idList") @ApiParam(value = "id列表") List<Long> idList) {...}

原创文章,欢迎转载,转载请注明出处!

swagger如何测试List类型参数的更多相关文章

  1. Swagger如何测试Date类型参数

    问题 Swagger测试时,参数直接输入日期格式化后的类型,会报参数日期转换错误 :ConversionFailedException 解决 网上说在参数上添加注解 @DateTimeFormat(p ...

  2. ASP.NET WebAPI使用Swagger生成测试文档

    ASP.NET WebAPI使用Swagger生成测试文档 SwaggerUI是一个简单的Restful API测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON配置显示API .项目 ...

  3. surging如何使用swagger 组件测试业务模块

    1.前言 微服务架构概念的提出已经有非常长一段时间了,但在近期几年却开始频繁地出现,大家都着手升级成微服务架构,使用着各种技术,大家认为框架有服务治理就是微服务,实现单一协议的服务调用,微服务虽然没有 ...

  4. Swagger ui测试中的验证 apikey

    Swagger ui测试中的验证 apikey 我们使用swagger 用来呈现webapi的接口,除了可以看到接口的说明和参数说明,还可以进行测试.但是我们的接口通常是有验证的,不是随便就能调用的, ...

  5. ASP.NET WebAPI 生成帮助文档与使用Swagger服务测试

    帮助HELP 要实现如WCF中的Help帮助文档,Web API 2 中已经支持很方便的实现了这一特性  http://www.asp.net/web-api/overview/creating-we ...

  6. ABP 用swagger UI测试API报401无权限访问问题

    问题描述: 当我们用swagger UI对Web API 进行测试时报401错误 我们点开GET /api/services/app/Role/GetAll,输入参数 点击Try it out!按钮, ...

  7. Swagger UI 传入对象类型参数

    Swagger要传送对象作为参数,只需添加@ModelAttribute或@RequestBody @RestController @RequestMapping("/api/json/re ...

  8. Swagger+IdentityServer4测试授权验证

    1.Bearer授权操作,添加如下代码 services.AddSwaggerGen(options => { options.AddSecurityDefinition("Beare ...

  9. ASP.NET WebAPI 测试文档 (Swagger)

    ASP.NET WebAPI使用Swagger生成测试文档 SwaggerUI是一个简单的Restful API测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON配置显示API .项目 ...

随机推荐

  1. maven新建项目

    选择新建maven project  这个文件通常作为父工程,用于管理jar包的依赖,锁定jar包版本 选择next group id :如表面意思  组织名  公司名  artifact id :工 ...

  2. Oja’s rule

    目录 Oja's rule 背景 Hebbian learning 主要的一些理论 论文里面一些主要的假设 引理1 引理2 引理3 定理1 LEMMA 3(ALL) 引理 4 定理 2 定理 3(关于 ...

  3. Python-面向对象简介

    面向对象介绍 学习面向对象过程中会遇到一些名词,我们先解释下 名词解释 类:一个类即是对一类拥有相同属性的对象的抽象.蓝图.原型.模板.在类中定义了这些对象的都具备的属性(variables(data ...

  4. iOS中的截屏(屏幕截屏及scrollView或tableView的全部截屏)

    iOS中的截屏(屏幕截屏及scrollView或tableView的全部截屏) 2017.03.16 12:18* 字数 52 阅读 563评论 4喜欢 2 1. 截取屏幕尺寸大小的图片并保存至相册 ...

  5. Of Study

    Bacon Reading maketh a full man; conference a ready man; and writing an exact man. And therefore, if ...

  6. mysql常用命令小结

    1.命令行中键入 net start/stop mysql 开启/停止mysql服务2.命令行中键入 mysql -u用户名 -p密码 连接数据库 (以下命令后须加分号';')3.用show语句显示当 ...

  7. YCSB报": No such file or directory"异常

    异常信息如下: 文件路径.权限都没有问题. 上网遍寻无果,安装流程与官网一致,开始怀疑是环境问题,后来用别人能用的YCSB复制到本地,却能正常运行. 后来修改了ycsb文件,加了个空格,保存退出,再运 ...

  8. windows下linux子系统安装

    1.打开Windows功能中的使用于linux的Windows子系统 2.应用商店中下载需要的linux 3.下载完成后运行等待安装并输入用户名密码  4.查看系统信息 先后 sudo apt-get ...

  9. js-其他跨域技术(JSONP`Comet)

    ###1.  JSONP JSONP由两部分组成:回调函数和数据 JSONP是通过动态<script>元素来使用的,使用时可以为src属性指定一个跨域URL eg: function ha ...

  10. spring MVC请求处理类注解属性详解