Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Spring Boot使用OpenAPI规范

Spring Boot使用OpenAPI规范

作者头像
李鸿坤
发布于 2020-10-23 03:28:58
发布于 2020-10-23 03:28:58
4.1K00
代码可运行
举报
文章被收录于专栏:泛泛聊后端泛泛聊后端
运行总次数:0
代码可运行

在WEB领域里面,随着前后端分离,后端的HTTP接口便需要去维护一份大而全的Rest API,一个比较靠谱的文档工具是必不可少的。

迭代中的系统,随着时间的推移,以前提供出去的接口,很快就会发生变化。同时去维护代码和接口文档,意味着工作量的增加,或者种种其他原因,导致接口和文档的不同步是家常便饭的事情。

那么如果文档是由代码注释或者类似的方式生成,便可以在一定程度上避免这样的事情。常规的方案就是使用OpenAPI规范,它的前身即大名鼎鼎的Swagger。

如何使用

首先引入依赖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-ui</artifactId>
    <version>1.4.7</version>
  </dependency>
</dependencies>

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-dependencies</artifactId>
      <version>2.1.3.RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

启动后访问地址 ip:port/swagger-ui/index.html , 可以看到一个Swagge UI的界面,即可正常进行使用了,默认打开示例。

注解

OpenAPI 是Swagger v3 ,所使用的注解跟原来的有所区别。主要的一些注解如以下表格

OpenAPI

swagger

作用

@Tag

@Api

标签,表示请求类的作用

@Operation

@ApiOperation

描述请求方法

@Parameter

@ApiParam

描述接口参数

@Schema

@ApiModel

描述模型

@ApiResponse

@ApiResponse

描述返回的结果,包含返回码,信息等

交互式文档

ip:port/swagger-ui/index.html 开启的时候使用的是默认示例。当我们给自己的接口写上加上OpenAPI的注解后,可以在Swagger界面的Explore框里面填入/v3/api-docs/点击explore按钮来查看。

点开其中一个方法,有具体的描述,方法的用处,参数和返回等上述注解中所定义的内容。

点击右上角的【try it out】按钮,则可以出现一个模拟请求的交互界面。

填入对应的参数,然后点击【Execute】按钮即可发起请求,然后在Responses看到对应的结果。同时也有Curl和Request URL给出,可以比较方便地复制到其他地方使用。

这种交互性的文档对于开发者来说比较有用,可以不用再自己去装一个postman来做模拟请求。

对于有条件的团队,有自己的文档平台,那么可以通过 ip:port//v3/api-docs/ 来获取文档的内容,Swagger也只是提供了一个交互界面来呈现文档。

结语

OpenAPI规范,定义了一套文档标准,并提供了默认实现以及方便使用的交互性文档界面。缺点是注解对应用的侵入性比较大,使用过程中亦需要关注安全问题。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 泛泛聊后端 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Spring Boot 3.x 中使用 SpringDoc 2 / Swagger3(详解)
SpringBoot 已经成为 Java 开发的首选框架,今天码哥跟大家聊一聊 Spring Boot3 如何与 Swagger3 集成打造一个牛逼轰轰的接口文档。
码哥字节
2024/11/23
3.4K0
Spring Boot 3.x 中使用 SpringDoc 2 / Swagger3(详解)
拥抱 OpenAPI 3: springdoc-openapi 食用指南
使用 springdoc-openapi 可以快速为 springboot 项目生成规范的 API 文档,具体使用步骤如下:
phoenix.xiao
2022/11/11
7.1K0
拥抱 OpenAPI 3: springdoc-openapi 食用指南
Spring Boot 3 整合Knife4j(OpenAPI3规范)
地址:https://doc.xiaominfo.com/ Knife4j是一个集Swagger2 和 OpenAPI3 为一体的增强解决方案。
Harry技术
2025/01/13
1.5K0
Spring Boot 3 整合Knife4j(OpenAPI3规范)
Spring Boot 3 整合Knife4j(OpenAPI3规范)
地址:https://doc.xiaominfo.com/ Knife4j是一个集Swagger2 和 OpenAPI3 为一体的增强解决方案。
Harry技术
2025/01/13
4310
Spring Boot 3 整合Knife4j(OpenAPI3规范)
SpringBoot基于OpenAPI3的接口文档管理快速集成和使用
本文主要简单介绍SpringCloud2023中进行接口文档管理,方便前后端开发和文档维护。文档管理工具基于开源的knife4j封装的openapi3。
codetrend
2024/06/02
1.2K0
SpringBoot基于OpenAPI3的接口文档管理快速集成和使用
神器 SpringDoc 横空出世!最适合 SpringBoot 的API文档工具来了!
SpringDoc是一款可以结合SpringBoot使用的API文档生成工具,基于OpenAPI 3,目前在Github上已有1.7K+Star,更新发版还是挺勤快的,是一款更好用的Swagger库!值得一提的是SpringDoc不仅支持Spring WebMvc项目,还可以支持Spring WebFlux项目,甚至Spring Rest和Spring Native项目,总之非常强大,下面是一张SpringDoc的架构图。
macrozheng
2022/04/12
6.6K0
神器 SpringDoc 横空出世!最适合 SpringBoot 的API文档工具来了!
spring boot3 / spring cloud遇到的一系列问题记录(二) —— 努力成为优秀的架构师
注:本章内容承接 spring boot / spring cloud遇到的一系列问题记录(一) —— 努力成为优秀的架构师
躺平程序员老修
2023/11/16
5790
spring boot3 / spring cloud遇到的一系列问题记录(二) —— 努力成为优秀的架构师
SpringBoot3集成Swagger
springfox 已经停止更新很久了,SpringBoot新版本都不支持。为了能够继续使用Swagger,只能调整继承库。
郭顺发
2023/07/17
2.6K0
SpringBoot3集成Swagger
OpenAPI规范3-Swagger2 的美化使用
本人自己使用的swagger2.0,鉴于颜值和OpenAPI规范,就想体验下,后续再补充各种情况的demo。
软件测试君
2022/01/24
6.9K0
OpenAPI规范3-Swagger2 的美化使用
集成SPRINGDOC OPENAPI 的微服务实践-spring cloud 入门教程
在文章集成SWAGGER2服务-spring cloud 入门教程中我们学习了使用swagger2来生成微服务的文档方法。但SpringFox 库最重要的问题是缺乏对最新版本 3 中的 OpenAPI 和 Spring 的支持使用 WebFlux 构建的反应式 API。所有这些特性都是由Springdoc OpenAPI 库实现的。因此,它可能会取代 SpringFox 作为 Swagger 和用于 Spring Boot 应用程序的 OpenAPI 3 生成工具。
jack.yang
2025/04/05
2250
集成SPRINGDOC OPENAPI 的微服务实践-spring cloud 入门教程
Spring Boot 3 集成 Spring Security + JWT
这里主要用到了Mybatis-plus、hutool 、knife4j ,其他依赖可以直接勾选
Harry技术
2025/01/13
5051
Spring Boot 3 集成 Spring Security + JWT
Spring Boot 3 集成 Spring Security + JWT
概述: 在本文中,我们将一步步学习如何使用 Spring Boot 3 和 Spring Security 来保护我们的应用程序。我们将从简单的入门开始,然后逐渐引入数据库,并最终使用 JWT 实现前后端分离。
Harry技术
2025/01/12
8080
Spring Boot 3 集成 Spring Security + JWT
全面升级!一套基于Spring Boot 3+JDK17的实战项目!
这里还是先简单介绍下mall项目吧,mall项目是一套基于 SpringBoot + Vue + uni-app 实现的电商系统(Github标星60K),采用Docker容器化部署。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能!
macrozheng
2024/04/25
1.1K0
全面升级!一套基于Spring Boot 3+JDK17的实战项目!
SpringCloudGateway+Discovery+Swagger 搭建服务文档中心
spring cloud 2020.3 swagger 3 springdoc-openapi 1.5.10
路过君
2021/12/07
1.8K0
SpringCloudGateway+Discovery+Swagger 搭建服务文档中心
重学Spring系列之Swagger2.0和Swagger3.0
当下很多公司都采取前后端分离的开发模式,前端和后端的工作由不同的工程师完成。在这种开发模式下,维护一份及时更新且完整的API 文档将会极大的提高我们的工作效率。传统意义上的文档都是后端开发人员使用word编写的,相信大家也都知道这种方式很难保证文档的及时性,这种文档久而久之也就会失去其参考意义,反而还会加大我们的沟通成本。而 Swagger 给我们提供了一个全新的维护 API 文档的方式,下面我们就来了解一下它的优点
大忽悠爱学习
2021/12/07
2.3K0
重学Spring系列之Swagger2.0和Swagger3.0
Spring Cloud Zuul中使用Swagger汇总API接口文档
之前给大家的回复都只是简单的说了个思路,昨天正好又有人问起,索性就举个例子写成博文供大家参考吧。
程序猿DD
2018/07/31
1K0
Spring Cloud Zuul中使用Swagger汇总API接口文档
python怎么调用api接口_偶尔的注解
Swagger2(基于openApi3)已经在17年停止维护了,取而代之的是 sagger3(基于openApi3),而国内几乎没有 sagger3使用的文档,百度搜出来的都是swagger2的使用,这篇文章将介绍如何在 java 中使用 openApi3(swagger3)。
全栈程序员站长
2022/11/17
2.4K0
Spring Cloud 2.x系列之springcloud整合Swagger2构建Restful服务的APIs
Spring Cloud将服务注册到了Eureka上,可以从Eureka的UI界面中,看到有哪些服务已经注册到了EurekaServer上;但是如果想查看当前服务提供了哪些RESTful接口方法的话,就无法从Eureka Server获取了,而传统的方法是梳理一个接口文档来供开发人员之间来进行交流。这种情况下经常会造成文档和代码的不一致性,比如说代码改了,但是接口文档还没来得及修改等问题,而Swagger2则给我们提供了一套完美的解决方案,下面来看看Swagger2是如何来解决这个问题的。
BUG弄潮儿
2022/06/30
8120
Spring Cloud 2.x系列之springcloud整合Swagger2构建Restful服务的APIs
如何在SpringBoot中快速整合Swagger?
开发前后端分离或者微服务项目,调试后端Web接口必然会用到Swagger,特别是给Swagger添加上JWT的时候,配置代码写起来较为复杂和啰嗦。例如下面的这个配置类,就是给SpringBoot设置Swagger,并且附带上JWT,一堆集合,看着就让人头晕。
用户7353950
2022/06/23
7370
如何在SpringBoot中快速整合Swagger?
SpringBoot整合Swagger2
本篇博客是我github上our-task:一个完整的清单管理系统的配套教程文档,这是SpringBoot+Vue开发的前后端分离清单管理工具,仿滴答清单。目前已部署在阿里云ECS上,可进行在线预览,随意使用(附详细教程),大家感兴趣的话,欢迎给个star!
呆小鱼LQ
2020/12/23
7340
SpringBoot整合Swagger2
推荐阅读
相关推荐
Spring Boot 3.x 中使用 SpringDoc 2 / Swagger3(详解)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验