SwaggerUI日常使用
最近公司项目集成springFox,记录一些swaggerUI日常使用,包括数组,文件,默认值,允许值,参数/结果类注解,响应码..等等。
一.参数注解:
单参数:@ApiImplicitParam
多参数:@ApiImplicitParams
@ApiImplicitParams({
@ApiImplicitParam(name = "pageIndex",value = "页码,默认值:0",dataType = "int",
paramType = "query"),
@ApiImplicitParam(name = "pageSize",value = "页长,默认值:20",dataType = "int",
paramType = "query")
})
可以看一下参数注解接口相关属性如下:
public @interface ApiImplicitParam {
//参数名
String name() default "";
//参数作用,对应中文名
String value() default "";
//默认值
String defaultValue() default "";
//允许值的范围,逗号分隔
String allowableValues() default "";
//是否必传,可以看到默认是非必填的
boolean required() default false;
//暂时没用到
String access() default "";
//是否允许数组
boolean allowMultiple() default false;
//参数类型:int/String之类的,注:不支持integer
String dataType() default "";
//参数作用类型:比如query正常查询参数,path表示路径参数
String paramType() default "";
//举例
String example() default ""; Example examples() default @Example({@ExampleProperty(
mediaType = "",
value = ""
)});
下面详细介绍下几种应用:
1.文件类型:
@ApiImplicitParam(name = "file",value = "文件",dataType = "file",paramType = "query")
2.数组,以string数组为例
@ApiImplicitParam(name = "type",value = "类型",dataType = "String", paramType = "query",allowMultiple = true),
3.默认值
@ApiImplicitParam(name = "type",value = "类型",dataType = "String",paramType = "query",defaultValue = "test"),
4.允许值,比如状态,开关类字段,一般只支持0/1
@ApiImplicitParam(name = "status",value = "状态",dataType = "int",paramType = "query",allowableValues = "0,1"),
5.参数/结果类注解 一般常用@requestbody封装的参数类,或者设定的结果类。
public void create(@ApiParam @RequestBody Entity entity)
然后在对应的参数类中添加响应的@apimodel和@apiproperty注解
@ApiModel
public class Entity {
@ApiModelProperty(name = "id",value = "主键")
private int id; @ApiModelProperty(name = "type",value = "类型",)
private String type;
}
6.响应码
@ApiResponses({
@ApiResponse(code = 200,message = "操作成功"), })
在swaggerui界面的model中可以看到生成效果,这里我只加了前两个注解
7.必填项,默认非必填。注:必填项一定要和接口设定一致。
@ApiImplicitParam(name = "id",value = "id",dataType = "String", paramType = "query",required = true)
8.路径参数,比如接口路径为 /type/{id},可以如下定义注解
@ApiImplicitParam(name = "id",value = "id",dataType = "String", paramType = "path",required = true)
待补充...
SwaggerUI日常使用的更多相关文章
- Spring Boot笔记(一) springboot 集成 swagger-ui
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.添加依赖 <!--SpringBoot整合Swagger-ui--> <depen ...
- ORACLE分区表梳理系列(二)- 分区表日常维护及注意事项(红字需要留意)
版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...
- ABP教程-给项目添加SwaggerUI,生成动态webapi
上一篇,我们是正式将ABP生成的代码项目,跑起来了,然后演示了下多租户的不同.那么这篇我们就来实现下SwaggerUI. Q:SwaggerUI是干什么的呢? A:他是一个能将我们的webapi,通过 ...
- Java程序员的日常—— Arrays工具类的使用
这个类在日常的开发中,还是非常常用的.今天就总结一下Arrays工具类的常用方法.最常用的就是asList,sort,toStream,equals,copyOf了.另外可以深入学习下Arrays的排 ...
- 数据库日常维护-CheckList_03有关数据库数据文件大小检查
日常数据维护中容量规划是每个DBA的基础工作之一,也是非常重要的工作.在生产环境中一些比较重要的业务数据库会用前期容量规划不足,或出现意外的爆发式的数据增长,直至盛满整个磁盘空间,系统会无法使用,最终 ...
- 数据库日常维护-CheckList_02有关数据库备份检查
数据库备份是DB日常运维中最基本的也是最重要的工作,很多情况下都是做成作业形式实现自动化周期性的做全备.差异以及日志备份.那么,如果作业出现问题没有完成工作,我们可以设置自动报警如email被动提醒我 ...
- 数据库日常维护-CheckList_01历史Agent Job执行情况检查
检查Agent Job中日常维护作业或业务作业是否成功,如每天的备份.碎片整理.索引维护.历史备份文件清除等,可利用SSMS工具,通过CDC下面设置好的DB Server List,运行下面脚本一次, ...
- [No000094]SVN学习笔记4-版本库概念与部分日常操作
基本概念 版本库 Subversion 使用集中的数据库,它包含了所有的版本控制文件及其完整历史.这个数据库就是版本库.版本库通常位于运行 Subversion 服务器的文件服务器上,向 Subver ...
- 【CentOS】Linux日常管理
/////////////////////////目录///////////////////////////////////////// 一.日常监控指标相关 1.监控系统状态命令 2.查看系统进程 ...
随机推荐
- 黑马旅游网 url-pattern不加斜杠报错 java.util.concurrent.ExecutioException: org.apache.catalina.LifecycleException
- JavaScript进阶 - 第1章 系好安全带,准备启航
第1章 系好安全带,准备启航 1-1让你认识JS 你知道吗,Web前端开发师需要掌握什么技术?也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HTML+CSS创建一个漂 ...
- python之is 和 == 的区别//编码和解码
一.is 和 == 的区别: 1 .id() 内存地址 2. == 比较 #比较两边的值 3. is 比较 #比较的是内存地址 数字,字符串,有小数据池 #数字小 ...
- shell 发送Post请求,并获取状态码
#!/bin/bash aa=$ result=$(curl -H "Content-type: application/json" -X POST -o /dev/null -s ...
- 浅析libuv源码-node事件轮询解析(3)
好像博客有观众,那每一篇都画个图吧! 本节简图如下. 上一篇其实啥也没讲,不过node本身就是这么复杂,走流程就要走全套.就像曾经看webpack源码,读了300行代码最后就为了取package.js ...
- 网络编程之异步IO,rabbitMQ笔记
对于网络并发编程而言,多线程与多进程算是最常见的需求场景了.毕竟网站开放就是想要更多的流量访问的. 回顾 回顾下之前学过的关于线程,进程和协程的知识点 IO密集型任务--用多线程更好计算密集型任务-- ...
- WPF机制和原理
最近由于项目需要,自己学习了一下WPF,之前接触过sliverlight,所以对理解和编写XAML不是太陌生.其实XAML和html多少还是有点类似的.只不过XAML上添加上了自动binding机制( ...
- P4868 天天和不可描述
http://www.tyvj.cn/p/4868 思路: 本想用站做的,但发现要用很多站同时做,还要来回倒. 我怕超时,所以换了种做法. 因为每遇到一次括号都要把输出方向改变,而括号是成对存在的,所 ...
- 记录下这周的mysql调优工作
这周一至周四基本都在做mysql的测试和调优工作,包括erlang端对mysql的写入测试,到今天为止暂且告一段落,下周先做下其他的开发. 测试环境 使用的测试环境是aliyun的杭州节点 ...
- SpringBoot 2.x (13):整合ActiveMQ
ActiveMQ5.x不多做介绍了,主要是SpringBoot的整合 特点: 1)支持来自Java,C,C ++,C#,Ruby,Perl,Python,PHP的各种跨语言客户端和协议 2)支持许多高 ...