1.写在controller上的注解

1.1 @Api

代码

@Api(tags = "用户相关接口", description = "提供用户相关的 Rest API")

public class UserController

属性解析

注解属性 类型 描述
tags String[] 控制器标签。
description String 控制器描述 (该字段被申明为过期)

2.写在方法上的注解

2.1 接口方法的描述

@ApiOperation 主要属性

代码
@PostMapping(value = "/login")
@ApiOperation(value = "登录接口",notes = "登录接口",httpMethod = "POST",responseContainer="登录成功,登录失败")
@ApiResponses({
@ApiResponse(code = 200, message = "请求成功"),
@ApiResponse(code = 10000, message = "用户名验证码为空"),
@ApiResponse(code = 10001, message = "验证码不正确"),
@ApiResponse(code = 10002, message = "验证码已失效"),
@ApiResponse(code = 10004, message = "登录错误次数超过五次"),
@ApiResponse(code = 10005, message = "用户名或密码错误"),
@ApiResponse(code = 10006, message = "账号被冻结,请联系管理员")
})
public ResponseEntity<Message<SystemAccountBean>> login(@RequestBody SystemAccountBeanVO systemAccountBean, HttpServletRequest request) { return ResponseEntity.ok(new Message(loginService.login(systemAccountBean, request))); }
属性解析
注解属性 类型 描述
value String 接口说明。
notes String 接口发布说明。
tags Stirng[] 标签。
response Class<?> 接口返回类型。
httpMethod String 接口请求方式。

@ApiIgnore

Swagger 文档不会显示拥有该注解的接口

@ApiImplicitParams

用于描述接口的非对象参数集

@ApiImplicitParam

用于描述接口的非对象参数,一般与 @ApiImplicitParams 组合使用。

@ApiImplicitParam

代码示例
@ApiImplicitParams({
@ApiImplicitParam(name = "accountId", value = "账户ID", dataType = "string", paramType = "query", example = "xingguo"),
})
public ResultMsgBean<List<SystemMenuBean>> queryForMenuListByAccountId() {
return systemMenuBean;
}
主要属性
注解属性 描述
paramType 查询参数类型,实际上就是参数放在那里。取值:
path:以地址的形式提交数据,根据 id查询用户的接口就是这种形式传参。
query:Query string 的方式传参。
header:以流的形式提交。
form:以 Form 表单的形式提交。
dataType 参数的数据类型。取值:Long String
name 参数名字。
value 参数意义的描述。
required 是否必填。取值:true:必填参数。false:非必填参数。

3.写在实体类上的注解

3.1 描述

@ApiModel:

可设置接口相关实体的描述。

@ApiModelProperty:

可设置实体属性的相关描述

3.2 代码示例

@ApiModel(description= "账户信息类")
public class SystemAccountBean extends CustomerPersonBean {
/** 帐号序号 */
@ApiModelProperty(value="帐号序号")
private String accountId;
}

3.3 @ApiModelProperty属性说明

注解属性 类型 描述
value String 字段说明。
name String 重写字段名称。
dataType Stirng 重写字段类型。
required boolean 是否必填。
example Stirng 举例说明。
hidden boolean 是否在文档中隐藏该字段。
allowEmptyValue boolean 是否允许为空。
allowableValues String 该字段允许的值,当我们 API 的某个参数为枚举类型时,
使用这个属性就可以清楚地告诉 API 使用者该参数所能允许传入的值。

swagger2配置详解的更多相关文章

  1. Log4j配置详解(转)

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  2. logback 常用配置详解<appender>

    logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...

  3. [转]阿里巴巴数据库连接池 druid配置详解

    一.背景 java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池.数据库连接池有很多选择,c3p.dhcp.proxool等,druid作为一名后起之秀,凭借其出色 ...

  4. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  5. logback配置详解3<filter>

    logback 常用配置详解(三) <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一.返回DENY ...

  6. logback配置详解2<appender>

    logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写 ...

  7. log4j.properties配置详解

    1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.WARN.ERROR和FATAL.这五个级别是有顺序的,DEBUG < INFO < WARN < ...

  8. Log4J日志配置详解

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  9. Windows下Nginx Virtual Host多站点配置详解

    Windows下Nginx Virtual Host多站点配置详解 此教程适用于Windows系统已经配置好Nginx+Php+Mysql环境的同学. 如果您还未搭建WNMP环境,请查看 window ...

随机推荐

  1. anaconda一站式环境的搭建(anaconda、tensorflow、opencv)

    搭建人工智能图像处理环境 Anaconda一站式开发环境搭建. 工欲善其事必先利其器,在我们学习之前,我们先要搭建一个属于我们自己的开发环境.我们开发的环境是有anaconda.testflow.op ...

  2. mysql中的DDL,DML,DQL,DCL

    SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data Definition Language) 对象: 数据库和表 ...

  3. Python 字典(Dictionary) type()方法

    Python 字典(Dictionary) type()方法 描述 Python 字典(Dictionary) type() 函数返回输入的变量类型,如果变量是字典就返回字典类型.高佣联盟 www.c ...

  4. luogu P6570 [NOI Online #3 提高组]优秀子序列 二进制 dp

    LINK:P6570 [NOI Online #3 提高组]优秀子序列 Online 2的T3 容易很多 不过出于某种原因(时间不太够 浪了 导致我连暴力的正解都没写. 容易想到 f[i][j]表示前 ...

  5. LeetCode 87,远看是字符串其实是搜索,你能做出来吗?

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题第54篇文章,我们一起来看LeetCode 87题,Scramble String(爬行字符串). 这题的官方难度 ...

  6. 使用idea 时出现classnotfound

    如果是web项目,而且确定包在.. 不用担心,点开Project structure 在artifacts 选择就好了..双击就可以  包就进lib下了

  7. CSS-flex|gird 布局

    网页布局.css *{ box-sizing: border-box; } /* flex弹性布局 */ #flex-container { display: flex; flex-direction ...

  8. swift demo1 tableview

    代码如下: // // ViewController.swift // demo1_tableview // // Created by Alice_ss on 2018/2/24. // Copyr ...

  9. Node.js 和 Python之间如何进行选择?

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://dzone.com/articles/nodejs-vs-python-which ...

  10. 团队项目-记账App

    一.团队成员介绍 队长: 向瑜 博客园地址: https://www.cnblogs.com/xiangyu721/  沟通能力较强,善于总结,能够正确分配团队任务.其次,有耐心学习新事物,发现新问题 ...