最近公司项目集成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日常使用的更多相关文章

  1. Spring Boot笔记(一) springboot 集成 swagger-ui

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.添加依赖 <!--SpringBoot整合Swagger-ui--> <depen ...

  2. ORACLE分区表梳理系列(二)- 分区表日常维护及注意事项(红字需要留意)

    版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...

  3. ABP教程-给项目添加SwaggerUI,生成动态webapi

    上一篇,我们是正式将ABP生成的代码项目,跑起来了,然后演示了下多租户的不同.那么这篇我们就来实现下SwaggerUI. Q:SwaggerUI是干什么的呢? A:他是一个能将我们的webapi,通过 ...

  4. Java程序员的日常—— Arrays工具类的使用

    这个类在日常的开发中,还是非常常用的.今天就总结一下Arrays工具类的常用方法.最常用的就是asList,sort,toStream,equals,copyOf了.另外可以深入学习下Arrays的排 ...

  5. 数据库日常维护-CheckList_03有关数据库数据文件大小检查

    日常数据维护中容量规划是每个DBA的基础工作之一,也是非常重要的工作.在生产环境中一些比较重要的业务数据库会用前期容量规划不足,或出现意外的爆发式的数据增长,直至盛满整个磁盘空间,系统会无法使用,最终 ...

  6. 数据库日常维护-CheckList_02有关数据库备份检查

    数据库备份是DB日常运维中最基本的也是最重要的工作,很多情况下都是做成作业形式实现自动化周期性的做全备.差异以及日志备份.那么,如果作业出现问题没有完成工作,我们可以设置自动报警如email被动提醒我 ...

  7. 数据库日常维护-CheckList_01历史Agent Job执行情况检查

    检查Agent Job中日常维护作业或业务作业是否成功,如每天的备份.碎片整理.索引维护.历史备份文件清除等,可利用SSMS工具,通过CDC下面设置好的DB Server List,运行下面脚本一次, ...

  8. [No000094]SVN学习笔记4-版本库概念与部分日常操作

    基本概念 版本库 Subversion 使用集中的数据库,它包含了所有的版本控制文件及其完整历史.这个数据库就是版本库.版本库通常位于运行 Subversion 服务器的文件服务器上,向 Subver ...

  9. 【CentOS】Linux日常管理

    /////////////////////////目录///////////////////////////////////////// 一.日常监控指标相关 1.监控系统状态命令 2.查看系统进程 ...

随机推荐

  1. 黑马旅游网 url-pattern不加斜杠报错 java.util.concurrent.ExecutioException: org.apache.catalina.LifecycleException

  2. JavaScript进阶 - 第1章 系好安全带,准备启航

    第1章 系好安全带,准备启航 1-1让你认识JS 你知道吗,Web前端开发师需要掌握什么技术?也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HTML+CSS创建一个漂 ...

  3. python之is 和 == 的区别//编码和解码

    一.is  和  ==  的区别: 1  .id()   内存地址 2.  ==   比较    #比较两边的值 3.   is    比较   #比较的是内存地址 数字,字符串,有小数据池 #数字小 ...

  4. shell 发送Post请求,并获取状态码

    #!/bin/bash aa=$ result=$(curl -H "Content-type: application/json" -X POST -o /dev/null -s ...

  5. 浅析libuv源码-node事件轮询解析(3)

    好像博客有观众,那每一篇都画个图吧! 本节简图如下. 上一篇其实啥也没讲,不过node本身就是这么复杂,走流程就要走全套.就像曾经看webpack源码,读了300行代码最后就为了取package.js ...

  6. 网络编程之异步IO,rabbitMQ笔记

    对于网络并发编程而言,多线程与多进程算是最常见的需求场景了.毕竟网站开放就是想要更多的流量访问的. 回顾 回顾下之前学过的关于线程,进程和协程的知识点 IO密集型任务--用多线程更好计算密集型任务-- ...

  7. WPF机制和原理

    最近由于项目需要,自己学习了一下WPF,之前接触过sliverlight,所以对理解和编写XAML不是太陌生.其实XAML和html多少还是有点类似的.只不过XAML上添加上了自动binding机制( ...

  8. P4868 天天和不可描述

    http://www.tyvj.cn/p/4868 思路: 本想用站做的,但发现要用很多站同时做,还要来回倒. 我怕超时,所以换了种做法. 因为每遇到一次括号都要把输出方向改变,而括号是成对存在的,所 ...

  9. 记录下这周的mysql调优工作

    这周一至周四基本都在做mysql的测试和调优工作,包括erlang端对mysql的写入测试,到今天为止暂且告一段落,下周先做下其他的开发.    测试环境    使用的测试环境是aliyun的杭州节点 ...

  10. SpringBoot 2.x (13):整合ActiveMQ

    ActiveMQ5.x不多做介绍了,主要是SpringBoot的整合 特点: 1)支持来自Java,C,C ++,C#,Ruby,Perl,Python,PHP的各种跨语言客户端和协议 2)支持许多高 ...