分组和接口注释及小结

配置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]分组和接口注释及小结相关推荐

  1. swagger2 分组

    https://blog.csdn.net/stonexmx/article/details/77604571 自定义注解 package com.awj.mall.restfulapi.common ...

  2. 2 在UML中有4种事物:结构事物、行为事物、分组事物和注释事物。其中,( )事物表示 UML模型中的名词,它们通常是模型的静态部分,描述概念或物理元素。以下( )属于此类事物。

    标签: 初级程序员考试易错题,计算机基础, 面向对象基础,统一建模语言 (UML) 2 在UML中有4种事物:结构事物.行为事物.分组事物和注释事物.其中,( )事物表示 UML模型中的名词,它们通常 ...

  3. 海康明眸测温及身份证SDK接口C#编程小结

    海康明眸测温及身份证SDK接口C#编程小结 因为疫情一些医院使用海康明眸测温设备测体温并且登记身份证,因此开发了一个登记程序,接收设备的体温和身份证信息. 设备型号:DS-KAB671-I,图片如下: ...

  4. 微信php开发用户分组,微信开发之用户分组管理接口(增)

    本文将带你了解微信开发41----用户分组管理接口(增),希望本文对大家学微信有所帮助. 当一个公众平台运营一段时间,会积累很多用户粉丝,为了更加方便的管理用户,我们需要对用户分组进行管理,这样群发推 ...

  5. Swagger2接口注释参数使用数组

    allowMultiple = true, paramType = "query", dataType = "string" 输出的就是这样的:Array[st ...

  6. Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据

    一.简介 在当下这个前后端分离的技术趋势下,前端工程师过度依赖后端工程师的接口和数据,给开发带来了两大问题: 问题一.后端接口查看难:要怎么调用?参数怎么传递?有几个参数?参数都代表什么含义? 问题二 ...

  7. idea swagger生成接口文档_Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据...

    一.简介 在当下这个前后端分离的技术趋势下,前端工程师过度依赖后端工程师的接口和数据,给开发带来了两大问题: 问题一.后端接口查看难:要怎么调用?参数怎么传递?有几个参数?参数都代表什么含义? 问题二 ...

  8. SpringBoot 使用Swagger2打造在线接口文档(附源代码)

    点击上方"好好学java",选择"置顶公众号" 优秀学习资源.干货第一时间送达! 精彩内容 java实战练习项目教程 2018微服务资源springboot.s ...

  9. Swagger2生成在线接口文档并导出pdf文件

    文章目录 一,配置 1,pom依赖 2,通用配置 二,注解 三,主题 1,默认主题效果 2,添加依赖 3,添加配置 4,启动看效果 四,token验证 方法1,所有接口上添加 方法2,全局统一添加 五 ...

最新文章

  1. C++ 中NULL 和 nullptr 的区别
  2. 4.Spring Security 添加图形验证码
  3. 2016年5月9日 晨间日记
  4. 推荐一个 React 技术揭秘的项目,自顶向下的 React 源码分析
  5. 清除浏览器缓存之后为什么还是显示旧的html页面_Web缓存控制策略详解
  6. 干货|MIT线性代数课程精细笔记[第一课]
  7. tfs 未能在以下位置创建报表文件夹 /TfsReports: 授予的权限不足,无法执行此操作
  8. Matlab语音采集与读写程序,基于MATLAB的语音信号录制采集和分析的程序设计
  9. 图像入门二之视频操作
  10. java中加载窗口的函数_Java函数调用 - playgame的个人页面 - OSCHINA - 中文开源技术交流社区...
  11. Linq to xml:检索
  12. 使用move_base做4个点循环跑的导航
  13. 文本智能处理与RPA领军企业达观数据宣布完成5.8亿元C轮融资
  14. 四成单身、平均年薪19万、最爱买房,原来真实的程序员是这个样子的…...
  15. MATLAB中图像增强之伪彩色增强
  16. 2021-05-12 MongoDB面试题 应该启动一个集群分片(sharded)还是一个非集群分片的 MongoDB 环境
  17. laravel图形验证码(借用了TP的图形验证码类)非常好用简单,非常适合前后端分离的项目
  18. 对接支付宝网站支付接口
  19. STM32-HAL-SPI-读写W25Q128FV-JEDEC ID(1)
  20. b+和b-数比较和优势

热门文章

  1. [转]一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD
  2. 【QGIS入门实战精品教程】4.7:QGIS如何将矢量数据转为GeoJSON格式?
  3. Envi和ArcGIS软件打开和处理.NC4数据
  4. 剑指offer之把字符串里面空格替换成百分之20[时间复杂度是O(n)]
  5. 贪心算法之高级钟点秘书会议安排问题
  6. ubuntu上面svn用merge合并到之前的版本
  7. Android之解决远程拍照不打开activity用其它方式获取surfaceView
  8. db2和mysql语句区别_db2和mysql语法的区别是什么
  9. 奇妙的数学动图,美到令人窒息!
  10. 数据挖掘在呼叫中心的六大应用点