基于swagger测试List类型参数过程详解
使用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) {...}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Swagger2匹配多个controller代码实例
方法一:使用多个controller的共同拥有的父类,即精确到两个controller的上一级 @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.shubing")) .paths(PathSelectors.any
-
spring boot 2整合swagger-ui过程解析
这篇文章主要介绍了spring boot 2整合swagger-ui过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.添加mvn依赖 修改pom.xml加入 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.5.0</v
-
c# webapi 配置swagger的方法
如何配置swagger? 在使用项目中,我们希望去查看我们的webapi的测试,那么我们是需要去有一个集成的测试的. 步骤 1.在nutget管理包中下载swagger包. 2.这样会在App_start 文件夹中出现swaggerconfig.cs 和swaggerNet.cs, 这个时候就需要配置的时候了. 3.取消下面的注释(swaggerconfig.cs) c.IncludeXmlComments(string.Format("{0}/bin/ThinkingSpace.XML&quo
-
浅谈django框架集成swagger以及自定义参数问题
介绍 我们在实际的开发工作中需要将django框架与swagger进行集成,用于生成API文档.网上也有一些关于django集成swagger的例子,但由于每个项目使用的依赖版本不一样,因此可能有些例子并不适合我们.我也是在实际集成过程中遇到了一些问题,例如如何自定义参数等问题,最终成功集成,并将结果分享给大家. 开发版本 我开发使用的依赖版本,我所使用的都是截止发稿日期为止最新的版本: Django 2.2.7 django-rest-swagger 2.2.0 djangorestframe
-
SpringBoot集成SwaggerUi以及启动时遇到的错误
SwaggerUi是一个自动生成接口文档,并且还可以去测试这些接口的东西. SpringBoot集成SwaggerUi 引入依赖 <properties> <swagger.version>2.6.1</swagger.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> &l
-
Spring Boot整合swagger使用教程详解
Swagger的介绍
-
SpringBoot整合Swagger3生成接口文档过程解析
前后端分离的项目,接口文档的存在十分重要.与手动编写接口文档不同,swagger是一个自动生成接口文档的工具,在需求不断变更的环境下,手动编写文档的效率实在太低.与新版的swagger3相比swagger2配置更少,使用更加方便. 一.pom文件中引入Swagger3依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId
-
基于swagger测试List类型参数过程详解
使用swagger 时,往往会用到类似下面这样的注解 @ApiImplicitParam(name = "id", value = "主键", dataType = "int", paramType = "query") 网上说这里的dataType 类型有String / int两种,其余的都是无用的. 但是如果需要传递的参数是List类型,应该怎么办? 首先直接在浏览器中输入网址,传递参数(xxx?idList=1,2,3
-
基于python实现雪花算法过程详解
这篇文章主要介绍了基于python实现雪花算法过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Snowflake是Twitter提出来的一个算法,其目的是生成一个64bit的整数: 1bit:一般是符号位,不做处理 41bit:用来记录时间戳,这里可以记录69年,如果设置好起始时间比如今年是2018年,那么可以用到2089年,到时候怎么办?要是这个系统能用69年,我相信这个系统早都重构了好多次了. 10bit:10bit用来记录机器ID
-
Spring基于xml文件配置Bean过程详解
这篇文章主要介绍了spring基于xml文件配置Bean过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 通过全类名来配置: class:bean的全类名,通过反射的方式在IOC容器中创建Bean,所以要求bean中必须有一个无参的构造器. <bean id="helloWorld" class="com.gong.spring.beans.HelloWorld"> <property na
-
基于javascript处理nginx请求过程详解
nginx是一个HTTP和反向代理服务器,目前很多网站都在使用nginx作为反向代理服务器. njs是JavaScript语言的一个子集,它允许扩展nginx的功能,这点跟lua有点类似,不过采用的语言是javascript. 1. 安装nginx 要使用njs,需要安装一个nginx,这里的我使用的环境是Ubuntu18.04.4. 首先从http://nginx.org/en/download.html下载最新的stable version的nginx源码. a. 解压源码 sudo tar
-
基于nexus3配置Python仓库过程详解
搭建Python私服,我们依旧使用nexus3. 与其他私服一样的,Python私服同样有三种类型: hosted : 本地存储,便于开发者将个人的一些包上传到私服中proxy : 提供代理其他仓库的类型,如豆瓣的pypi仓库group : 组类型,实质作用是组合多个仓库为一个对外的地址 那么就来一个一个创建. 1,创建blob存储 为其创建一个单独的存储空间. 2,创建hosted类型的pypiName: 定义一个名称local-pypiStorage Blob store,我们下拉选择前面创
-
基于zabbix实现监控Jenkins过程详解
一.监控架构图 二.实现思路 在 Jenkins 上安装 Metrics 插件,使 Jenkins 暴露 metrics api: 编写python代码从api抓取数据,并将数据解析为zabbix可以识别的格式: 配置 Zabbix server 及 agent 以实现监控及告警 三.具体配置 1.安装Jenkins Metrics插件 插件下载地址:http://updates.jenkins-ci.org/download/plugins/metrics/ 安装 Metrics 插件,在系统
-
基于javamelody监控springboot项目过程详解
JavaMelody是用来在QA和实际运行生产环境中监控Java或Java EE应用程序服务器的一个开源框架.它不是一个工具来模拟来自用户的请求,而是一个测量和计算用户在实际操作中应用程序的使用情况的工具,并以图表的形式显示,图表可以按天,周,月,年或自定义时间段查看. JavaMelody基础的监控包括Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求.sql请求.jsp页面与业务接口方法(EJB3.Spring. Guice)的执行数量,平均执行时
-
基于Java代码操作Redis过程详解
Jedis简介 实际开发中,我们需要用Redis的连接工具连接Redis然后操作Redis, 对于主流语言,Redis都提供了对应的客户端: 提供了很多客户端 官方推荐的是Jedis 托管地址:https://github.com/xetorthio/jedis 要使用redis首先得下载pom依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId&g
-
Python基于pip实现离线打包过程详解
新公司是内网环境,无法使用pip安装第三方资源库,在网上搜下,可以直接使用pip打包本机所安装的第三方资源库,打包成whl文件 一 进入cmd命令行 1 打包单个模块 pip download pytest -d /tmp 2 打包本机所有的包 pip freeze >requirements.txt pip download -r requirements.txt -d /tmp 或者 pip install --download /tmp/packages -r requirements.t
-
Python基于数列实现购物车程序过程详解
要求 1.启动程序后让用户输入余额,并打印商品列表 2.用户通过输入编号购买商品 3.用户选择商品购买后,根据余额判断成功或者失败,给出对应提示 4.可以随时退出,退出后打印账号余额以及购买的商品列表 构思 1.首先,用户余额需要进行存储,用户购买的物品需要进行存储在数组中 2.用户购买成功后,将购买的物品放入物品集合,并用总金额减去余额 3.如果失败,给出失败提示,并打印余额 4.用户选择继续后,无论成功失败,都可以继续购买 代码 # 用户输入工资 balance = int(input("P
随机推荐
- 常用正则表达式范例 方便表单验证
- 每天一篇javascript学习小结(Date对象)
- Node.js 中exports 和 module.exports 的区别
- 详解使用vue脚手架工具搭建vue-webpack项目
- 使用HMAILSERVER搭建邮件服务器图文教程第1/2页
- 通过隐藏iframe实现无刷新上传文件操作
- Cocos2d-x 3.x入门教程(二):Node节点类
- javascript小数计算出现近似值的解决办法
- android使用videoview播放视频
- 中高级PHP程序员应该掌握哪些技术?
- Python random模块(获取随机数)常用方法和使用例子
- Python格式化压缩后的JS文件的方法
- PHP中如何防止外部恶意提交调用ajax接口
- 服务器安装Macfee(麦咖啡)杀毒软件后可能出现的问题
- Java使用组件编写窗口实现网络图片显示
- 部署到iis后无法加载运行CSS文件的解决方法
- Fireworks内部错误的处理办法
- Android重写View并自定义属性实例分析
- Android中的Bmob移动后端云服务器功能
- Android webview转PDF的方法示例