swagger + springboot
参考文章: https://blog.csdn.net/xupeng874395012/article/details/68946676/
https://blog.csdn.net/hry2015/article/details/72353994/
Api
用在Controller中,标记一个Controller作为swagger的文档资源
| 属性名称 | 说明 |
|---|---|
|
value |
Controller的注解 |
| description | 对api资源的描述 |
| hidden | 配置为true 将在文档中隐藏 |
使用方法:
1 @Api(value = "登录服务",description = "用户登录相关接口")
2 @RestController("loginControllerLayui")
3 @RequestMapping("/login")
4 public class LoginController {
5 }
ApiOperation
该注解用在Controller的方法中,用于注解接口
| 属性名称 | 说明 |
|---|---|
| value | 接口的名称 |
| notes | 接口的注释 |
| response | 接口的返回类型,比如说:response = String.class |
| hidden | 配置为true 将在文档中隐藏 |
使用方法:
@ApiOperation(value = "获取验证码图片",notes = "每调用一次,就会随机生成一张验证码图片",response = String.class)
@GetMapping("/verifyCode.img")
public String getVerifyCode(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
}
ApiParam
该注解用在方法的参数中。
| 属性名称 | 说明 |
|---|---|
| name | 参数名称 |
| value | 参数值 |
| required | 是否必须,默认false |
| defaultValue | 参数默认值 |
| type | 参数类型 |
| hidden | 隐藏该参数 |
使用方法:

@ApiOperation(value = "添加权限",notes = "插入权限",response = JsonData.class)
@PostMapping("/insertAcl.json")
public JsonData insertAcl(@ApiParam(name = "param",value = "实体类AclParam",required = true) AclParam param){
}

ApiResponses/ApiResponse
该注解用在Controller的方法中,用于注解方法的返回状态。
| 属性名称 | 说明 |
|---|---|
| code | http的状态码 |
| message | 状态的描述信息 |
| response | 状态相应,默认响应类 Void |
使用方法:

@ApiOperation(value = "菜单",notes = "进入菜单界面",nickname = "菜单界面")
@ApiResponses({
@ApiResponse(code = 200,message = "成功!"),
@ApiResponse(code = 401,message = "未授权!"),
@ApiResponse(code = 404,message = "页面未找到!"),
@ApiResponse(code = 403,message = "出错了!")
})
@GetMapping("/aclModule.page")
public ModelAndView aclModule(Model model){
}

ApiModel
该注解用在实体类中。
| 属性名称 | 说明 |
|---|---|
| value | 实体类名称 |
| description | 实体类描述 |
| parent | 集成的父类,默认为Void.class |
| subTypes | 子类,默认为{} |
| reference | 依赖,默认为“” |
使用方法:
@ApiModel(value = "JsonData",description = "返回的数据类型")
public class JsonData {
}
ApiImplicitParams/ApiImplicitParam
该注解用在Controller的方法中,同ApiParam的作用相同,但是比较建议使用ApiParam。
| 属性名称 | 说明 |
|---|---|
| name | 参数名称 |
| value | 参数值 |
| defaultValue | 参数默认值 |
| required | 是否必须 |
| allowMultiple | 是否允许重复 |
| dataType | 数据类型 |
| paramType | 参数类型 |
使用方法:
@ApiOperation(value = "创建用户",notes = "根据User对象创建用户")
@ApiImplicitParam(name = "user",value = "用户详细实体user")
@RequestMapping(value="/", method=RequestMethod.POST)
public String postUser(@ModelAttribute User user){
}
ApiModelProperty
该注解用在实体类的字段中。
| 属性名称 | 说明 |
|---|---|
| name | 属性名称 |
| value | 属性值 |
| notes | 属性注释 |
| dataType | 数据类型,默认为“” |
| required | 是否必须,默认为false |
| hidden | 是否隐藏该字段,默认为false |
| readOnly | 是否只读,默认false |
| reference | 依赖,,默认“” |
| allowEmptyValue | 是否允许空值,默认为false |
| allowableValues | 允许值,默认为“” |
使用方法:

//返回状态信息
@ApiModelProperty(name = "code",value = "状态code",notes = "返回信息的状态")
private int code;
//返回携带的信息内容
@ApiModelProperty(name = "msg",value = "状态信息",notes = "返回信息的内容")
private String msg = "";
//返回信息的总条数
@ApiModelProperty(name = "count",value = "查询数量",notes = "返回信息的条数")
private int count;
//返回对象
@ApiModelProperty(name = "data",value = "查询数据",notes = "返回数据的内容")
private Object data;
swagger + springboot的更多相关文章
- 基于Swagger+SpringBoot快速构建javaweb项目
章节导航 SpringBoot&Swagger简介 数据模型和接口定义 项目框架生成 业务逻辑实现 项目源码地址 github项目路径:https://github.com/Vikezhu/s ...
- Swagger SpringBoot 集成
说明:Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集 ...
- Swagger+SpringBoot整理
maven依赖 1 <dependency> 2 <groupId>io.springfox</groupId> 3 <artifactId>sprin ...
- springboot整合swagger。完爆前后端调试
web接口开发时在调试阶段最麻烦的就是参数调试,前端需要咨询后端.后端有时候自己也不是很了解.这时候就会造成调试一次接口就需要看一次代码.Swagger帮我们解决对接的麻烦 springboot接入s ...
- SpringBoot系列之从入门到精通系列教程
对应SpringBoot系列博客专栏,例子代码,本博客不定时更新 Spring框架:作为JavaEE框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时Spring框架及其子框架很多, ...
- 前端嫌弃原生Swagger界面太low,于是我给她开通了超级VIP
缘由 接口文档想必是许多开发小伙伴的噩梦,不仅要写详细,还要及时维护文档与后端代码保持一致,稍有没及时更新接口文档,前端同学肯定会抱怨后端同学给的文档与实际情况不一致. 于是,引入了Swagger组件 ...
- SpringBoot详解
1.Hello,World! 1.1.SpringBoot简介 回顾什么是Spring Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson . ...
- Swagger-初见
目录 Swagger简介 SpringBoot集成Swagger 配置Swagger 配置扫描接口 配置Swagger开关 配置API分组 实体配置 常用注解 Swagger简介 前后端分离 前端 - ...
- 第四章 springboot + swagger(转载)
此篇博客转发自:http://www.cnblogs.com/java-zhao/p/5348113.html swagger用于定义API文档. 好处: 前后端分离开发 API文档非常明确 测试的时 ...
随机推荐
- JavaScript中的构造函数和工厂函数说明
在cnblog上看到一篇文章,讲解JS中的构造函数和工厂函数,觉得讲的真好 JavaScript中的工厂函数和构造函数都能用来创建一个对象,我们可以来看看下面的例子 构造函数 function cre ...
- SQL语言 持续更新中……
SQL提供了很多的聚集函数 COUNT([DISTINCT\ALL]*) SUM([DISTINCT\ALL]<列名>)AVG().…… WHERE 子句中是不能用聚集函数作为条件表达式 ...
- Torando 入门
1. 前言 Tornado 是使用 Python 编写的一个强大的.可拓展性的 Web 服务器/框架.与其他主流 Web 服务器框架有着明显区别:Tornado 支持异步非阻塞框架.同时它处理速度非常 ...
- java线程基础知识----java daemon线程
java线程是一个运用很广泛的重点知识,我们很有必要了解java的daemon线程. 1.首先我们必须清楚的认识到java的线程分为两类: 用户线程和daemon线程 A. 用户线程: 用户线程可以简 ...
- 【Java】ServiceLoader源码分析
ServiceLoader主要的功能是用来完成对SPI的provider的加载. 先看下它的成员: public final class ServiceLoader<S> implemen ...
- [CentOS7] ssh免密登录 scp免密传输
我们采用RSA非对称加密算法,原理: 如果,A要和B通讯,则: (1). A通过RSA算法生成公钥(.pub)和私钥(公钥用于加密,私钥用于解密) (2). B将A的公钥文件(.pub)内容加入到au ...
- [CentOS7] 设置开机启动方式(图形界面或命令行)
由于CenOS之前一直都是通过修改inittab文件来修改开机启动模式,于是 通过 vim /etc/inittab 打开inittab来查看 如上所示,CentOS 7由于使用systemd而不是i ...
- 常见错误及处理-jsp及Servlet
1.servlet输入出页面时,中文字符乱码 解决方法: 在Writer之前设置请求头: response.setHeader("Content-type", "text ...
- zoj3195(lca / RMQ在线)
题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3195 题意: 给出一棵 n 个节点的带边权的树, 有 q 组形 ...
- sys_guid()
create extension "uuid-ossp"; create or replace function sys_guid() returns uuid as $$sele ...