微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spring Boot 2.x系列【26】应用篇之集成Swagger在线API文档

有道无术,术尚可求,有术无道,止于术。

本系列Spring Boot版本2.7.0

前言

现在都是基于前后端分离开发,前后端开发人员之间的协调沟通显得及其重要,例如后端开发好了一个访问接口,如何将该接口的访问路径、参数、响应结果告知前端?

一个想到的就是写个API 接口文档呗~ 写个word文档?其实不然,现在有很多开源的api文档管理工具,比如Eolinker,后端将接口信息编辑并保存在线文档中,前端就可以查看了。

然而,这种方式存在一个几个弊端,首先是添加麻烦,入参出参很多时,还是需要花点时间,然后就是如果接口变动,又需要去修改文档。

在线接口文档工具的出现,解决了这些问题,后端只需要按照规则,写好注解或者注释描述当前接口,就可以在线生成接口文档,直接访问,并且可以直接测试,需要更新时,因为是自动生成的,接口变动了,文档自己也会更新。

但是这种方式,也存在弊端,需要引入第三方框架,并且在代码中需要写很多描述信息,所以具有代码侵入性,具体怎么选择,视情况而定。

Swagger 简介

GitHub地址
官网地址
OpenAPI规范

首先Swagger是一种规范,在2015年更名为OpenAPI规范,因其英文全称为OpenAPI Specification,也简称为OASOpenAPI 3.0.0 OpenAPI 规范的第一个正式版本。

OAS定义一个标准的、与具体编程语言无关的RESTful风格API的规范。简单来说,就是该规范定义了在编写Web API接口以及描述信息的一套标准,只要按照规定的格式编写,这样就能使用文档生成工具在线生成

通常我们所说的Swagger,指的是SmartBear Software公司开源的遵循OAS规范的在线api文档一系列工具,可以在GitHub 中看到所有组件:

在这里插入图片描述

常用组件:

  • Swagger Editor: 基于浏览器的编辑器,也就是直接在页面上写接口信息,然后可以预览生成接口文档信息。
  • Swagger UI: 在线api文档可视化界面。
  • Swagger Codegen: 代码生成器,可以基于根据Swagger定义的RESTful API可以自动生成服务端和客户端代码。也就是我们只需要写好接口描述信息反向生成代码
  • Swagger CoreOpen API规范的Java 实现,将JAVA 代码解析为API接口描述文件(JSON 或者 YML 格式)。

总结Swagger就是一个根据代码生成Open API规范的描述文件(JSON或YML格式),然后进行api文档生成并可视化的工具。

Spring Boot 集成Swagger

Swagger本身并不支持Spring Boot框架直接生成,所以需要借助到第三方工具包,比如springfoxspringdoc

springfox

GitHub地址

在前几年之前,使用最多的就是springfox,但在2020 年 7 月 14 日发布了3.0 版本后,该项目貌似已经不再维护,所以该项目大概或许已经狗带~

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐