前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【Swagger】可能是目前最好的 Spring Boot 集成 swagger 的方案

【Swagger】可能是目前最好的 Spring Boot 集成 swagger 的方案

作者头像
KIWI
发布于 2020-04-08 03:32:39
发布于 2020-04-08 03:32:39
81000
代码可运行
举报
文章被收录于专栏:KIWI的碎碎念KIWI的碎碎念
运行总次数:0
代码可运行

【Swagger】可能是目前最好的Spring Boot集成 swagger 的项目

  据说程序员最恨的两件事:一件是别人不写文档,另一件是自己写文档。

  可见文档真的是程序员生活中相爱相杀的存在。一方面对于使用者来说,一份全面、准确的文档简直就是旅行时的地图,烹饪时的菜谱,通关时的攻略。可以极大的提高对接的效率与尽可能的减少踩坑的概率。然而,一份全面而又准确的文档谈何容易。

  以接口文档来说,程序员不想写的原因跟写单元测试一样,很大程序上在于它完完全全是一个体力活,毫无创造性可言,枯燥并且乏味。更要紧的它不是一次性写完就可以了,还需要不停的维护,当你的业务变更进而导致代码变动,使得请求值、响应值、接口名称、字段注释、校验信息。。。。。都可能会修改。这个时候接口文档就要同步更新。否则它就会变的不准确了。如果经常对接接口的同学可能深有体会,这不光出现于公司内部,对接外部接口,或提供外部接口不时有这样的问题。

天下苦接口文档久矣!突然有一天,一个头戴丝袜,气宇轩昂的大侠出现,改变了这个局面。他通过一套自创的注解,就可以自动生成一个在线的接口文档,而且随着代码的变更,它也会跟着变化。极大的减少了人们的工作量。为表达对于这位英雄的敬意,江湖人称--丝袜哥(Swagger音译)。

  一个典型的生成后 swagger 的接口文档页面如上图所示。关于丝袜哥的传奇故事,我们今天就说到这里。通过图片其实可以看出原生的界面、功能还是比较有限的。首先没有一个登录界面,基本上在使用时没几个人改 swagger 的默认地址。所以别人发现你的接口地址很容易访问到你的 swagger 页面,这就带来了安全风险。另一点就是这个界面,怎么说呢,至少不是我喜欢的款。还是一点就是直接对接起 Spring Boot 还是有点麻烦的,各种 bean 要手动配置,一点也不 Spring Boot。

  凡此种种,终于有一天。在 github 闲逛时,发现了一个不错的 swagger 的工具包,一用就爱不释手。项目地址[1]下面就演示一下如何使用。

引入依赖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
    <groupId>com.battcn</groupId>
    <artifactId>swagger-spring-boot-starter</artifactId>
    <version>2.1.5-RELEASE</version>
</dependency>

2.1.5-RELEASE是当前的最新版,后续版本大家可以在项目地址上去看。

配置篇

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
spring:
  swagger:
    enabled: true

  配置结束了,如果你只想用最基本的 swagger 的功能的话。访问http://{host:port}/swagger-ui.html后会有如下界面

  该项目的 UI 是使用 Vue 重写的较原版无论是颜值还是功能都有很大的提升。比如添加了搜索、接口统计等很多实用功能。如果我们想开启登录验证,防止接口文档被外部人员访问到,只要添加三条配置就可以了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
spring:
  swagger:
    enabled: true
    security:
      filter-plugin: true
      username: kiwi
      password: 123456

  我们再次访问接口页面,界面被拦截了,变成了如下登录界面。

  输入配置的账号与密码,又见到了熟悉的接口页面了。

尾声

  是不是感觉很方便,很 easy。其实还有很多功能,因为篇幅有限,更重要是作者本身已经写了很好的使用文档,没有必要在本文再一一列举出来(好吧,其实是我懒),大家可以到项目页面[2]接着学习。另外在作者的页面可以看到他本人的博客地址,是一个宝藏博主哦!

参考资料

[1]

项目地址: https://github.com/battcn/swagger-spring-boot

[2]

项目页面: https://github.com/battcn/swagger-spring-boot

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

本文分享自 KIWI的碎碎念 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一起来学 SpringBoot 2.x | 第十一篇:集成 Swagger 在线调试
随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、前后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。
芋道源码
2018/12/18
6680
一起来学 SpringBoot 2.x | 第十一篇:集成 Swagger 在线调试
一起来学SpringBoot | 第十一篇:集成Swagger在线调试
随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、前后端分离的形态,而且前端和后端在各自的技术道路上越走越远。
battcn
2018/08/03
5140
一起来学SpringBoot | 第十一篇:集成Swagger在线调试
实战!魔改swagger,knife4j的另外一种打开方式
之前公司使用了swagger作为文档管理工具,原生的swagger-ui非常丑,后来改用了开源项目 萧明 / knife4j 的swagger组件进行了swagger渲染,改造之后界面漂亮多了,操作也方便了很多。
阿Q说代码
2022/02/16
2K0
实战!魔改swagger,knife4j的另外一种打开方式
自动生成API工具——Swagger3
👨‍🎓作者:Java学术趴 🏦仓库:Github、Gitee ✏️博客:CSDN、掘金、InfoQ、云+社区 💌公众号:Java学术趴 🚫特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权。 🙏版权声明:文章里的部分文字或者图片来自于互联网以及百度百科,如有侵权请尽快联系小编。 ☠️每日毒鸡汤:这个社会是存在不公平的,不要抱怨,因为没有用!人总是在反省中进步的! 👋大家好!我是你们的老朋友Java学术趴。今天给大家分享一波自动生成API文档的工具,就是Swagger,人们亲切的
Java学术趴
2022/06/20
7540
自动生成API工具——Swagger3
Spring Boot 集成 Swagger2,构建强大的 API 文档
本文已收录至:https://cunyu1943.blog.csdn.net/ 前言 不管你是从事前端还是后端开发,相信都难免被接口文档折磨过。如果你是一个前端开发者,可能你会经常发现后端给的接口文档跟实际代码有所出入。而假设你是一个后端开发者,你可能又会觉得自己开发后端接口已经够烦的了,还要花费大量精力去编写和维护接口文档,所以难免有时候会更新不及时。这就可能造成了前后端相互不理解,最后甚至吵起来,哈哈哈 🤪。 这时候我们就会想,有没有一款工具,能让我们快速实现编写接口文档。这个工具既能保证我们的接口文档
村雨遥
2022/01/19
4870
Spring Boot 集成 Swagger2,构建强大的 API 文档
Spring Boot 整合 Swagger3 指北
松哥最近正在录制 TienChin 项目视频~采用 Spring Boot+Vue3 技术栈,里边会涉及到各种好玩的技术,小伙伴们来和松哥一起做一个完成率超 90% 的项目,戳戳戳这里-->TienChin 项目配套视频来啦。 ---- Swagger 好早之前就更新到 3 了,不过一直没空和小伙伴们分享下具体玩法,主要是也是因为 Swagger 虽然升级了,但是我们在 Spring Boot 中却依然可以使用老版本的 Swagger,不过好像是从 Spring Boot2.6 开始,你会发现用不了老版本的
江南一点雨
2022/07/26
8620
Spring Boot 整合 Swagger3 指北
Spring学习笔记(三十三)——SpringBoot集成Swagger
1. Swagger是什么 Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务,可以让你更好的书写API文档规范且完整。
不愿意做鱼的小鲸鱼
2022/09/26
6070
Spring学习笔记(三十三)——SpringBoot集成Swagger
Spring Boot 集成 Swagger 构建接口文档
在应用开发过程中经常需要对其他应用或者客户端提供 RESTful API 接口,尤其是在版本快速迭代的开发过程中,修改接口的同时还需要同步修改对应的接口文档,这使我们总是做着重复的工作,并且如果忘记修改接口文档,就可能造成不必要的麻烦。
武培轩
2020/06/08
9550
Spring Boot 集成 Swagger 构建接口文档
SpringBoot整合Swagger管理API接口详解
Swagger概念 传统API文档管理缺点: 对API文档更新时需要通知前端人员,导致文档更新交流不及时,API接口返回信息不明确 缺乏在线接口测试,需要使用额外的API测试工具:postman,SoapUI 接口文档太多,不便于管理 为了解决传统API文档维护问题,方便进行测试后台RESTful接口并实现动态更新,引入Swagger接口工具 Swagger工具优点: 功能丰富: 支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能 及时更新: 在开发工程中编写好注释,就可以及时更新API文档
攻城狮Chova
2021/08/21
8790
SpringBoot整合Swagger管理API接口详解
Spring Boot:整合Swagger文档
spring-boot作为当前最为流行的Java web开发脚手架,越来越多的开发者选择用其来构建企业级的RESTFul API接口。这些接口不但会服务于传统的web端(b/s),也会服务于移动端。在实际开发过程中,这些接口还要提供给开发测试进行相关的白盒测试,那么势必存在如何在多人协作中共享和及时更新API开发接口文档的问题。 
朝雨忆轻尘
2019/06/19
9130
Spring Boot:整合Swagger文档
Spring Boot 3.x 中使用 SpringDoc 2 / Swagger3(详解)
SpringBoot 已经成为 Java 开发的首选框架,今天码哥跟大家聊一聊 Spring Boot3 如何与 Swagger3 集成打造一个牛逼轰轰的接口文档。
码哥字节
2024/11/23
2.4K0
Spring Boot 3.x 中使用 SpringDoc 2 / Swagger3(详解)
在 Spring Boot 项目中使用 Swagger 文档
Spring Boot 框架是目前非常流行的微服务框架,我们很多情况下使用它来提供 Rest API。而对于 Rest API 来说很重要的一部分内容就是文档,Swagger 为我们提供了一套通过代码和注解自动生成文档的方法,这一点对于保证 API 文档的及时性将有很大的帮助。本文将使用 Swagger 2 规范的 Springfox 实现来了解如何在 Spring Boot 项目中使用 Swagger,主要包含了如何使用 Swagger 自动生成文档、使用 Swagger 文档以及 Swagger 相关的一些高级配置和注解。
程序员小明
2019/06/03
1.7K0
丝袜哥 --- swagger的使用
swagger,俗称丝袜哥,是用来生成接口文档的。没有使用swagger的时候,你写完后端接口,得自己将后端接口地址一个个地整理出来,告诉别人这个接口是干嘛的,要传哪些参数,正常情况下返回的参数是咋样的,非正常情况返回的又是咋样的。很麻烦有木有?有了丝袜哥,你只需要简单地加上几个注解,然后会有一个丝袜哥的ui界面,里面就包含了接口的所有信息,灰常地方便。
贪挽懒月
2020/12/08
1.1K0
Spring Boot集成Swagger简易教程
  Swagger号称是史上最流行的、最好用的API接口文档构建工具,它支持多种语言包括Java在内,本文仅关注如何使用Spring Boot来集成Swagger,更多关于Swagger的介绍可以查看以下几个链接。
happyJared
2018/09/20
9680
Spring Boot集成Swagger简易教程
芋道 Spring Boot API 接口文档 Swagger 入门
目前,大多数系统都采用前后端分离。在享受前后端分离的好处的同时,接口联调往往成为团队效率的瓶颈,甚至产生前后端的矛盾。简单归结来说,有几方面的原因:
芋道源码
2020/05/19
3.3K0
芋道 Spring Boot API 接口文档 Swagger 入门
在 Spring Boot 项目中使用 Swagger 文档
Spring Boot 框架是目前非常流行的微服务框架,我们很多情况下使用它来提供 Rest API。而对于 Rest API 来说很重要的一部分内容就是文档,Swagger 为我们提供了一套通过代码和注解自动生成文档的方法,这一点对于保证 API 文档的及时性将有很大的帮助。本文将使用 Swagger 2 规范的 Springfox 实现来了解如何在 Spring Boot 项目中使用 Swagger,主要包含了如何使用 Swagger 自动生成文档、使用 Swagger 文档以及 Swagger 相关的一些高级配置和注解。
beifengtz
2019/07/30
1.4K0
在 Spring Boot 项目中使用 Swagger 文档
Spring Boot从入门到精通-集成swagger
这一步完成之后,启动项目,打开 localhost:8080/swagger-ui.html#/就可以看到swagger的界面了,并且我们写好的那个接口也已经躺在那里等我们的调用。 swagger还有更多的注解帮助我们完善接口文档。
我的小熊不见了丶
2019/05/22
5830
Spring Boot集成Restful Api在线文档接口调试工具 Swagger
Swagger的目标是为REST API 定义一个标准的,与语言无关的接口,使人和计算机在看不到源码或者看不到文档或者不能通过网络流量检测的情况下能发现和理解各种服务的功能。当服务通过Swagger定义,消费者就能与远程的服务互动通过少量的实现逻辑。类似于低级编程接口,Swagger去掉了调用服务时的很多猜测。
百思不得小赵
2022/12/01
9670
Spring Boot集成Restful Api在线文档接口调试工具 Swagger
Spring Boot 基础教程:集成 Knife4j
之前介绍了如何在 Spring Boot 中集成 Swagger2 和 Swagger3,对于我们日常的接口管理已经够用了。但是作为一个颜值党,无论是 Swagger2 还是 Swagger3,都难以满足我们的审美。而且 Swagger2 和 Swagger3 都已经好久没更新了,更新还是比较慢的。
村雨遥
2022/05/23
1.9K0
Spring Boot 基础教程:集成 Knife4j
Spring-Boot + Swagger2 自动生成API接口文档
spring-boot作为当前最为流行的Java web开发脚手架,相信越来越多的开发者会使用其来构建企业级的RESTFul API接口。这些接口不但会服务于传统的web端(b/s),也会服务于移动端。在实际开发过程中,这些接口还要提供给开发测试进行相关的白盒测试,那么势必存在如何在多人协作中共享和及时更新API开发接口文档的问题。 假如你已经对传统的wiki文档共享方式所带来的弊端深恶痛绝,那么尝试一下Swagger2 方式,一定会让你有不一样的开发体验:
用户1212940
2022/04/13
6260
Spring-Boot + Swagger2 自动生成API接口文档
推荐阅读
相关推荐
一起来学 SpringBoot 2.x | 第十一篇:集成 Swagger 在线调试
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文