[Swagger2]分组和接口注释及小结
分组和接口注释及小结
配置API分组
1、如果没有配置分组,默认是default。通过groupName()方法即可配置分组:
@Bean
public Docket docket(Environment environment) {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).groupName("hello") // 配置分组// 省略配置....
}
2、重启项目查看分组
3、如何配置多个分组?配置多个分组只需要配置多个docket即可:
@Bean
public Docket docket1(){return new Docket(DocumentationType.SWAGGER_2).groupName("group1");
}
@Bean
public Docket docket2(){return new Docket(DocumentationType.SWAGGER_2).groupName("group2");
}
@Bean
public Docket docket3(){return new Docket(DocumentationType.SWAGGER_2).groupName("group3");
}
4、重启项目查看即可
实体配置
package com.xxxx.swagger2.pojo;import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;// 等价于@Api()
@ApiModel("用户实体类")
public class User {@ApiModelProperty("用户名")public String username;@ApiModelProperty("密码")public String passwrod;}
package com.xxxx.swagger2.controller;import com.xxxx.swagger2.pojo.User;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@Api(tags = "Hello控制类")
@RestController
public class HelloController {@GetMapping(value = "/hello")public String hello(){return "hello";}// 只要我们的接口中,返回值中存在实体类,它就会被扫描到Swagger中@PostMapping(value = "/user")public User user(){return new User();}// Operation 接口 不是放在类上的,是方法@ApiOperation("HelloController中的hello2方法")@GetMapping(value = "/hello2")public String hello2(@ApiParam("用户名") String username){return "hello"+username;}@ApiOperation("Post测试类")@GetMapping(value = "/postt")public User postt(@ApiParam("用户名") User user){return user;}}
常用注解
Swagger的所有注解定义在io.swagger.annotations包下
下面列一些经常用到的,未列举出来的可以另行查阅说明:
Swagger注解 | 简单说明 |
---|---|
@Api(tags = “xxx模块说明”) | 作用在模块类上 |
@ApiOperation(“xxx接口说明”) | 作用在接口方法上 |
@ApiModel(“xxxPOJO说明”) | 作用在模型类上:如VO、BO |
@ApiModelProperty(value = “xxx属性说明”,hidden = true) | 作用在类方法和属性上,hidden设置为true可以隐藏该属性 |
@ApiParam(“xxx参数说明”) | 作用在参数、方法和字段上,类似@ApiModelProperty |
我们也可以给请求的接口配置一些注释
@ApiOperation("接口")
@PostMapping("/kuang")
@ResponseBody
public String kuang(@ApiParam("这个名字会被返回")String username){return username;
}
这样的话,可以给一些比较难理解的属性或者接口,增加一些配置信息,让人更容易阅读!
相较于传统的Postman或Curl方式测试接口,使用swagger简直就是傻瓜式操作,不需要额外说明文档(写得好本身就是文档)而且更不容易出错,只需要录入数据然后点击Execute,如果再配合自动化框架,可以说基本就不需要人为操作了。
Swagger是个优秀的工具,现在国内已经有很多的中小型互联网公司都在使用它,相较于传统的要先出Word接口文档再测试的方式,显然这样也更符合现在的快速迭代开发行情。当然了,提醒下大家在正式环境要记得关闭Swagger,一来出于安全考虑二来也可以节省运行时内存。
[Swagger2]分组和接口注释及小结相关推荐
- swagger2 分组
https://blog.csdn.net/stonexmx/article/details/77604571 自定义注解 package com.awj.mall.restfulapi.common ...
- 2 在UML中有4种事物:结构事物、行为事物、分组事物和注释事物。其中,( )事物表示 UML模型中的名词,它们通常是模型的静态部分,描述概念或物理元素。以下( )属于此类事物。
标签: 初级程序员考试易错题,计算机基础, 面向对象基础,统一建模语言 (UML) 2 在UML中有4种事物:结构事物.行为事物.分组事物和注释事物.其中,( )事物表示 UML模型中的名词,它们通常 ...
- 海康明眸测温及身份证SDK接口C#编程小结
海康明眸测温及身份证SDK接口C#编程小结 因为疫情一些医院使用海康明眸测温设备测体温并且登记身份证,因此开发了一个登记程序,接收设备的体温和身份证信息. 设备型号:DS-KAB671-I,图片如下: ...
- 微信php开发用户分组,微信开发之用户分组管理接口(增)
本文将带你了解微信开发41----用户分组管理接口(增),希望本文对大家学微信有所帮助. 当一个公众平台运营一段时间,会积累很多用户粉丝,为了更加方便的管理用户,我们需要对用户分组进行管理,这样群发推 ...
- Swagger2接口注释参数使用数组
allowMultiple = true, paramType = "query", dataType = "string" 输出的就是这样的:Array[st ...
- Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据
一.简介 在当下这个前后端分离的技术趋势下,前端工程师过度依赖后端工程师的接口和数据,给开发带来了两大问题: 问题一.后端接口查看难:要怎么调用?参数怎么传递?有几个参数?参数都代表什么含义? 问题二 ...
- idea swagger生成接口文档_Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据...
一.简介 在当下这个前后端分离的技术趋势下,前端工程师过度依赖后端工程师的接口和数据,给开发带来了两大问题: 问题一.后端接口查看难:要怎么调用?参数怎么传递?有几个参数?参数都代表什么含义? 问题二 ...
- SpringBoot 使用Swagger2打造在线接口文档(附源代码)
点击上方"好好学java",选择"置顶公众号" 优秀学习资源.干货第一时间送达! 精彩内容 java实战练习项目教程 2018微服务资源springboot.s ...
- Swagger2生成在线接口文档并导出pdf文件
文章目录 一,配置 1,pom依赖 2,通用配置 二,注解 三,主题 1,默认主题效果 2,添加依赖 3,添加配置 4,启动看效果 四,token验证 方法1,所有接口上添加 方法2,全局统一添加 五 ...
最新文章
- C++ 中NULL 和 nullptr 的区别
- 4.Spring Security 添加图形验证码
- 2016年5月9日 晨间日记
- 推荐一个 React 技术揭秘的项目,自顶向下的 React 源码分析
- 清除浏览器缓存之后为什么还是显示旧的html页面_Web缓存控制策略详解
- 干货|MIT线性代数课程精细笔记[第一课]
- tfs 未能在以下位置创建报表文件夹 /TfsReports: 授予的权限不足,无法执行此操作
- Matlab语音采集与读写程序,基于MATLAB的语音信号录制采集和分析的程序设计
- 图像入门二之视频操作
- java中加载窗口的函数_Java函数调用 - playgame的个人页面 - OSCHINA - 中文开源技术交流社区...
- Linq to xml:检索
- 使用move_base做4个点循环跑的导航
- 文本智能处理与RPA领军企业达观数据宣布完成5.8亿元C轮融资
- 四成单身、平均年薪19万、最爱买房,原来真实的程序员是这个样子的…...
- MATLAB中图像增强之伪彩色增强
- 2021-05-12 MongoDB面试题 应该启动一个集群分片(sharded)还是一个非集群分片的 MongoDB 环境
- laravel图形验证码(借用了TP的图形验证码类)非常好用简单,非常适合前后端分离的项目
- 对接支付宝网站支付接口
- STM32-HAL-SPI-读写W25Q128FV-JEDEC ID(1)
- b+和b-数比较和优势
热门文章
- [转]一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD
- 【QGIS入门实战精品教程】4.7:QGIS如何将矢量数据转为GeoJSON格式?
- Envi和ArcGIS软件打开和处理.NC4数据
- 剑指offer之把字符串里面空格替换成百分之20[时间复杂度是O(n)]
- 贪心算法之高级钟点秘书会议安排问题
- ubuntu上面svn用merge合并到之前的版本
- Android之解决远程拍照不打开activity用其它方式获取surfaceView
- db2和mysql语句区别_db2和mysql语法的区别是什么
- 奇妙的数学动图,美到令人窒息!
- 数据挖掘在呼叫中心的六大应用点