Swagger生成接口在线文档
创始人
2024-05-29 14:58:59
0

OpenAPI规范(OpenAPI Specification 简称OAS)是Linux基金会的一个项目,试图通过定义一种用来描述API格式或API定义的语言,来规范RESTful服务开发过程,目前版本是V3.0,并且已经发布并开源在github上。

(https://github.com/OAI/OpenAPI-Specification)

Swagger是全球最大的OpenAPI规范(OAS)API开发工具框架,Swagger是一个在线接口文档的生成工具,前后端开发人员依据接口文档进行开发。 (https://swagger.io/)


Spring Boot 可以集成Swagger,Swaager根据Controller类中的注解生成接口文档 ,只要添加Swagger的依赖和配置信息即可使用它。

1、依赖
Java在工程添加swagger-spring-boot-starter依赖

com.spring4allswagger-spring-boot-starter
2、bootstrap.yml
Java在bootstrap.yml中配置swagger的扫描包路径及其它信息,base-package为扫描的包路径,扫描Controller类。
swagger:title: "系统在线测试"description: "内容系统管理系统对课程相关信息进行管理"base-package: com.jinshan.contentenabled: trueversion: 1.0.0
3.@EnableSwagger2Doc注解
在启动类中添加@EnableSwagger2Doc注解
4.类和方法上的注解
Bash@Api(value = "课程信息编辑接口",tags = "课程信息编辑接口")@RestController
public class CourseBaseInfoController {@ApiOperation("课程查询接口")@PostMapping("/course/list")public PageResult list(PageParams pageParams, @RequestBody(required=false) QueryCourseParamsDto queryCourseParams){//....}}
5.模型类注解
Javapublic class PageParams {...@ApiModelProperty("当前页码")
private Long pageNo = 1L;@ApiModelProperty("每页记录数默认值")
private Long pageSize = 30L;
...
public class QueryCourseParamsDto {//审核状态
@ApiModelProperty("审核状态")private String auditStatus;//课程名称@ApiModelProperty("课程名称")private String courseName;}
6.Swaager的常用注解
Java
@Api:修饰整个类,描述Controller的作用@ApiOperation:描述一个类的一个方法,或者说一个接口@ApiParam:单个参数描述@ApiModel:用对象来接收参数@ApiModelProperty:用对象接收参数时,描述对象的一个字段@ApiResponse:HTTP响应其中1个描述@ApiResponses:HTTP响应整体描述@ApiIgnore:使用该注解忽略这个API@ApiError :发生错误返回的信息@ApiImplicitParam:一个请求参数@ApiImplicitParams:多个请求参数
7.@ApiImplicitParam属性

使用Swagger可以进行接口的测试。

修改接口内容,添加一些测试代码

Java
@ApiOperation("课程查询接口")
@PostMapping("/course/list")
public PageResult list(PageParams pageParams, @RequestBody(required=false) QueryCourseParamsDto queryCourseParams){CourseBase courseBase = new CourseBase();courseBase.setName("测试名称");courseBase.setCreateDate(LocalDateTime.now());List courseBases = new ArrayList();courseBases.add(courseBase);PageResult pageResult = new PageResult(courseBases,10,1,10);return pageResult;}

观察swagger界面,结果可以正常返回

相关内容

热门资讯

热点推荐“贝众乐游到底有没有透... 热点推荐“贝众乐游到底有没有透视挂吗”原来真的有挂是一款可以让一直输的玩家,快速成为一个“必胜”的a...
热点推荐“88娱乐城到底有没有... 热点推荐“88娱乐城到底有没有透视挂吗”原来真的有挂;原来确实真的有挂(需添加指定薇7198902获...
热点推荐“传奇德州到底有没有透... 您好,传奇德州这款游戏可以开挂的,确实是有挂的,需要了解加微{7198902}很多玩家在这款游戏中打...
热点推荐“精品乐清麻将到底有没... 热点推荐“精品乐清麻将到底有没有透视挂吗”原来真的有挂是一款可以让一直输的玩家,快速成为一个“必胜”...
热点推荐“湘叶娱乐到底有没有透... 热点推荐“湘叶娱乐到底有没有透视挂吗”原来真的有挂1、让任何用户在无需AI插件第三方神器的情况下就能...
热点推荐“新友茶社到底有没有透... 您好,新友茶社这款游戏可以开挂的,确实是有挂的,需要了解加微{7198902}很多玩家在这款游戏中打...
热点推荐“网上斗牛到底有没有透... 亲,网上斗牛这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,网上斗牛的开挂软件,名...
热点推荐“雀悦诏安麻将到底有没... 雀悦诏安麻将这个游戏其实有挂的,确实是有挂的,需要了解加客服微信:【7198902】, 很多玩家在这...
热点推荐“棋牌室到底有没有透视... 您好:棋牌室确实真的有挂,软件加微信【7198902】确实是有挂的,很多玩家在这款游戏中打牌都会发现...
热点推荐“微友联盟到底有没有透... 亲,微友联盟这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,微友联盟的开挂软件,名...
热点推荐“众联到底有没有透视挂... 热点推荐“众联到底有没有透视挂吗”原来真的有挂1、让任何用户在无需AI插件第三方神器的情况下就能够完...
热点推荐“雀神麻将到底有没有透... 热点推荐“雀神麻将到底有没有透视挂吗”原来真的有挂是一款可以让一直输的玩家,快速成为一个“必胜”的a...
热点推荐“越记乡游到底有没有透... 热点推荐“越记乡游到底有没有透视挂吗”原来真的有挂;原来确实真的有挂(需添加指定薇7198902获取...
热点推荐“麻友圈2贵州麻将到底... 您好:麻友圈2贵州麻将确实真的有挂,软件加微信【7198902】确实是有挂的,很多玩家在这款游戏中打...
热点推荐“乐天棋牌到底有没有透... 热点推荐“乐天棋牌到底有没有透视挂吗”原来真的有挂是一款可以让一直输的玩家,快速成为一个“必胜”的a...
热点推荐“海星到底有没有透视挂... 您好:海星确实真的有挂,软件加微信【7198902】确实是有挂的,很多玩家在这款游戏中打牌都会发现很...
热点推荐“潮汕馆到底有没有透视... 您好:潮汕馆确实真的有挂,软件加微信【7198902】确实是有挂的,很多玩家在这款游戏中打牌都会发现...
热点推荐“乐享贵州麻将到底有没... 乐享贵州麻将这个游戏其实有挂的,确实是有挂的,需要了解加客服微信:【7198902】, 很多玩家在这...
热点推荐“汇友娱乐到底有没有透... 您好:汇友娱乐确实真的有挂,软件加微信【7198902】确实是有挂的,很多玩家在这款游戏中打牌都会发...
热点推荐“hhpoker脚本到... 热点推荐“hhpoker脚本到底有没有透视挂吗”原来真的有挂1、让任何用户在无需AI插件第三方神器的...