美文网首页
是时候换种方式使用Swagger了

是时候换种方式使用Swagger了

作者: Anricx | 来源:发表于2020-02-14 09:25 被阅读0次

是时候换种方式使用Swagger了

为啥用Swagger

懒! 年前的时候已写一份优秀的文档为己任。当反复切换文档编写工具, 你会发现还是编写代码的时候直接写好注释然后能自动生成文档是一件多爽的事情。而Swagger正式为此而生!

以前怎么用Swagger

搜索SpringBoot加入Swagger, 千篇一律都是让你引入依赖:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>

然后配置SwaggerConfig类, 定义Docket等等...

所以大部分人接入Swagger都是采用都这个方式, 但是这个库太过时了!

这个库最新版本还停留在2018年6月, Swagger 2.x都发布快两年了, 这个库目前还不支持2.0,虽然作者在2019年8月发布帖子说明了当前都进度(点击查看), 但是截止2020年1月目前依然没有看到任何会完成支持的希望!

那为什么我那么在意Swagger 2.x? 是因为2.0实现标准是OpenAPI 3.0, 具体是什么可参考附录[3], 总之更好更强!

所以我放弃了,是时候换条路子了。

发现新大陆 - Springdoc

Springdoc也是一个为spring项目自动生成API文档的工具。

有什么特性

  • 实现OpenAPI 3规范 - 当然由于它直接基于Swagger 2.x
  • SpringBoot 1.x/2.x - 新老都完美支持
  • JSR-303标准 - 接口对象都定义更加规范通用
  • Swagger UI - 比较好看了
  • OAuth2 - 可能用不着

如何使用

Maven项目添加依赖, 项目版本可自行在仓库选择最新版本。

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-ui</artifactId>
    <version>1.2.30</version>
</dependency>

记住然后你什么都不用做, 直接访问

http://127.0.0.1:8080/swagger-ui.html

已经可以看到生成的最原始的文档。

Swagger-1.png

进阶使用

注解天下第一

名称 作用
@OpenAPIDefinition 定义例如文档名称介绍等
@Tag 用来定义一组接口的名称以及说明
@Operation 定义具体接口操作
@ApiResponse 定义返回状态
@Parameter 定义参数信息
@Schema 用于定义返回对象或者字段

更多注解可参考附录[^6]

下图是最终效果


Swagger-1.png

下载Github项目示例

总结

相比Springfox我更推荐大家使用Springdoc, 目前Springdoc版本更新社区也更活跃, 项目使用也更简单方便。

希望大家都可以输出好文档!

附录

[1] Swagger IO
https://swagger.io/
[2] Springdoc
https://springdoc.org/
[3] OpenAPI-Specification
https://github.com/OAI/OpenAPI-Specification
[4] Springfox
https://github.com/springfox/springfox
[5] Swagger Core 2.X
https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Getting-started
[6] Swagger 2.X Annotations
https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Annotations

相关文章

  • 是时候换种方式使用Swagger了

    是时候换种方式使用Swagger了 为啥用Swagger 懒! 年前的时候已写一份优秀的文档为己任。当反复切换文档...

  • swagger在node.js下的使用

    swagger的使用 1.使用swagger-codegen生成server端的controller 两种方式: ...

  • Swagger简介

    swagger 了解更多 一、简介 Swagger是一种REST APIs的简单但强大的表示方式,标准的,语言无关...

  • swagger3与swagger2区别

    1、说明 Swagger3是在Swagger2上做了大版本升级,使用方式和Swagger2大体一致,只是需要注意区...

  • 放弃

    放弃不代表屈服,而是换种方式活 坚持不代表坚强,更多时候是纠缠 执念,太累了,真的走不动了 我想放弃了,换种方式,...

  • 是该时候换种活法了

    今天吃过早饭,我开始打扫楼上的卫生,从床到衣柜,桌子,门,还有玻璃,统统都擦过两遍。直到11点40才擦完所有的东西...

  • 电商项目mall学习(2)Swagger-UI显示API在线文档

    使用Swagger-UI显示API在线文档 Swagger-UI Swagger-UI是HTML, Javascr...

  • 再见丑陋的 SwaggerUI,这款开源的API文档生成神器界面

    一般在使用 Spring Boot 开发前后端分离项目的时候,都会用到 Swagger。Swagger 是一个规范...

  • 换种方式,换种心情

    不知道今天你有没有报名呢?时间总是偷偷溜走,在你想不到的任何时刻,今天没有加班。 他去了安阳找朋友玩,我真的不知道...

  • 换种方式……

    天天期待着他的信息,他的来电,他的那句“想你了”,期待着他的陪伴,他的怀抱……自己承受着这份爱带来的痛苦!而我的期...

网友评论

      本文标题:是时候换种方式使用Swagger了

      本文链接:https://www.haomeiwen.com/subject/tkcrfhtx.html