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文档非常明确 测试的时 ...
随机推荐
- hadoop slf4j-api 1.6.x (or later) is incompatible with this binding
hadoop slf4j-api 1.6.x (or later) is incompatible with this binding 解决方法: 在POM文件最前面加入: <dependenc ...
- JSP错误页面
exception是JSP九大内置对象之一,其实例代表其他页面的异常和错误.只有当页面是错误处理页面时,即isErroePage为 true时,该对象才可以使用.对于C项,errorPage的实质就是 ...
- Java学习之多态(Polymorphism)
多态==晚绑定 不要把函数重载理解为多态. 因为多态是一种运行期的行为,不是编译期的行为. 多态:父类型的引用可以指向子类型的对象. 比如 Parent p = new Child(); 当使用多态方 ...
- 4.Windows应急响应:勒索病毒
0x00 前言 勒索病毒,是一种新型电脑病毒,主要以邮件.程序木马.网页挂马的形式进行传播.该病毒性质恶劣. 危害极大,一旦感染将给用户带来无法估量的损失.这种病毒利用各种加密算法对文件进行加密,被感 ...
- PHP开源系统学习之fluxbb_1
最近一直忙于做项目,虽说做了点新东西.感觉自己进步不是很大,总体水平还是跟半年前差不多,想到的东西跟以前差不多,写出来的东西也跟以前差不多.只是现在做的东西多些,比以前敢做了. 近期准备利用点时间,读 ...
- Boost Python学习笔记(四)
你将学到什么 在Python中调用C++代码时的传参问题 基础类型 Python的字符串是常量,所以C++函数参数中的std::string &必须为const 修改源文件(main.cpp) ...
- 商派OMS增加PMC跟生产中心角色权限思路
一.目标:根据现有的商派OMS框架逻辑二开 PMC中(外协单位.生产中心)角色权限(如:下图的仓库角色,根据[接单元.发货员.仓库管理员],选择一或多的版权仓库,同理,如外协单位根据[**.** .* ...
- 解决Navicat 连接服务器数据库报10060问题
1.登录mysql,授予远程登录权限(确保mysql表里的登录user对应的host为 % 即可:若不是 % ,使用mysql的update更新对应host) mysql> use mysql; ...
- SQL数据库操作整理
1.规范 ①关键字与函数名称全部大写: ②数据库名称.表名称.字段名称全部小写: ③SQL语句必须以分号结尾. 2.数据库操作 // 1. 创建数据库,其中[]表示可以省略 CREATE { DATA ...
- 2017-10-20 NOIP模拟赛
Lucky Transformation #include<iostream> #include<cstring> #include<cstdio> using n ...