免费api文档管理(api文档管理工具)

网友投稿 304 2023-01-21

本篇文章给大家谈谈免费api文档管理,以及api文档管理工具对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享免费api文档管理的知识,其中也会对api文档管理工具进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

还在发愁写API文档?推荐一款阿里腾讯都在用的API管理神器

作为一个前后端分离模式开发的团队,我们经常会看到这样的场景:前端开发和后端开发在一起热烈的讨论“你这接口参数怎么又变了?”,“接口怎么又不通了?”,“稍等,我调试下”,“你再试试..."。

那能不能写好接口文档,大家都按文档来开发?很难,因为写文档、维护文档比较麻烦,而且费时,还会经常出现 API 更新了,但文档还是旧的,各种同步不一致的情况,从而耽搁彼此的时间。

之前我们团队也遇到了同样的问题,那么作为研发团队的负责人,我是如何带领团队解决这个问题的呢?

方法其实很简单,如果能做到让写文档/维护文档这件事情的短期收益就能远高于付出的成本,那么所有问题都能迎刃而解,开发人员就会非常乐意去写接口文档。

要做到写文档和及时维护文档的短期收益就能远高于付出的成本,无非两个方向:

鉴于此,我们设想如果有一款工具做到以下这些是不是就非常爽了?

总结下来,我们需要的就是这么一款工具:

为此,我们几乎尝遍了市面上所有相关的工具,但是很遗憾,没有找到合适的。

于是,我们自己实现了一个Postman + Swagger + RAP + JMeter

这个工具就是 Apifox,经常很长一段时间不断更新迭代后,我们基本上完全实现了最初的设想,几乎完美解决了最开始遇到的所有问题,在公司内部大受欢迎。并且也形成了我们自己的最佳实践。

没错,现在我们已经将Apifox产品化对外服务了,你们团队也可以直接使用Apifox了。

官网:www.apifox.cn

Apifox = Postman + Swagger + Mock + JMeter

Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化协作平台。

通过一套系统、一份数据,解决多个系统之间的数据同步问题。只要定义好接口文档,接口调试、数据 Mock、接口测试就可以直接使用,无需再次定义;接口文档和接口开发调试使用同一个工具,接口调试完成后即可保证和接口文档定义完全一致。高效、及时、准确!

节省研发团队的每一分钟!

如果你认为 Apifox 只做了数据打通,来提升研发团队的效率,那就错了。Apifox 还做了非常多的创新,来提升开发人员的效率。

通常一个接口会有多种情况用例,比如 正确用例 参数错误用例 数据为空用例 不同数据状态用例。定义接口的时候定义好这些不同状态的用例,接口调试的时候直接运行,非常高效。

可以独立定义数据模型,接口定义时可以直接引用数据模型,数据模型之间也可以相互引用。同样的数据结构,只需要定义一次即可多处使用;修改的时候只需要修改一处,多处实时更新,避免不一致。

使用 Apifox 调试接口的时候,系统会根据接口文档里的定义,自动校验返回的数据结构是否正确,无需通过肉眼识别,也无需手动写断言脚本检测,非常高效!

Apifox 自动校验数据结构

设置断言:

Apifox 设置断言

运行后,查看断言结果:

先放一张图对比下 Apifox 和其他同类工具 零配置 mock 出来的数据效果:

Apifox Mock 数据结果对比同类工具

可以看出 Apifox 零配置 Mock 出来的数据和真实情况是非常接近的,前端开发可以直接使用,而无需再手动写 mock 规则。

「Apifox 如何做到高效率、零配置生成非常人性化的 mock 数据」

Apifox 项目可“在线分享” API 文档,分享出去的 API 文档可设置为公开或需要密码访问,非常方便与外部团队协作。

体验地址:https://www.apipark.cn/s/ce387612-cfdb-478a-b604-b96d1dbc511b/http/5041285

根据接口模型定义,自动生成各种语言/框架(如 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等)的业务代码(如 Model、Controller、单元测试代码等)和接口请求代码。目前 Apifox 支持 130 种语言及框架的代码自动生成。

更重要的是:你可以通过自定义代码模板来生成符合自己团队的架构规范的代码,满足各种个性化的需求。

接口调试

Apifox 多种主题色可选

YAPI:从0搭建API文档管理工具

最近在找一款API文档管理工具,之前有用过Swagger、API Manager、Confluence,现在用的还是Confluence。

我个人一直不喜欢用Swagger,感觉“代码即文档”,让代码里的文档无处不在,已经对代码造成了一定的入侵了。API Manager就是一个纯API文档管理的工具了。Confluence是万能的,也是最简单的,支持各种插件在线安装,可以有各种布局,支持MD文档,也支持表格、代码块等。

最近看到一篇文章在说YAPI,就准备搭建一个试试效果如何。

YAPI是去哪儿网开源的一款API管理工具,理念如下:

特性:

选择YAPI试试手的原因是因为我看到了它支持MockServer,这样前端开发同学就不用等待后端同学了。主要是我也懒得搭建一套mock服务,有这样一款工具何乐而不为呢?所以今天就找了一台服务器安装了一下。考虑排版问题,就以图片形式放出来了。

nodeJS长期支持版本官网下载地址:https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz,下载后执行如下命令:
nodeJS安装完毕。
YAPI安装,GitHub上已经有比较详细的文档了,地址:https://github.com/YMFE/yapi,这里说一下两种部署方式:

可视化部署:
yapi安装完毕,访问进行可视化配置一步一步往下走即可。

命令行部署(推荐方式):
yapi安装完毕,访问:{config.json中配置的port}即可访问。

node需要安装pm2模块,使用pm2模块后台运行yapi:
运行成功页面:
至此,YAPI就安装完毕了,简单实用一下还是不错的,因为是国产的,整体操作风格还是比较习惯的。在YAPI这里接口更改还有记录哦~
后面再慢慢体验这个里面的一些高级功能吧,比如MockServer、接口测试等功能。

大家还有什么更好用的API管理工具?你觉得一款优秀的API管理工具应该都有哪些必须的功能?欢迎推荐和讨论!

谁有好用免费的文档管理软件?

1. 系统构架
l 支持windows XP以上全部windows系统,一键安装,3分钟完成。
l 自带数据库和WEB服务器,不需要另外安装数据库,第三方WEB服务器。
l 服务器支持SSL加密传输。
l 支持系统数据增量备份(不需要其他的备份软件系统)。
l 系统提供AES(128位,192位,256位)文件加密存储功能,用户可以设置自己的加密密钥。
l 系统支持多网卡,多IP。
l 系统支持多硬盘存储。
l 系统磁盘阵列存储。
2. 文档管理部分
1) 文件传输
l 系统提供批量文档传输工具,可以一次导入设置文件夹的历史文档,也可定时导入文档数据。
l 用户也可以单独上传多个文档,IE9以上支持拖着文件上传。
l 支持粘贴上传多个文件。
l 支持扫描仪上传,支持高拍仪,支持摄像头截图上传。
l 系统自动识别且禁止同一个文件的重复上传操作。
l 支持文件夹及文件的移动操作。
2) 文件查看
l 系统采用Windows资源管理器式的文档管理,文件夹采用树形结构显示,同时提供文件夹的排序功能和文件夹描述功能。
l 提供“详细”,“缩略图”,“列表”三钟浏览方式。如果是图片系统自动显示缩略图
l 双击文件显示文件的大小、修改时间、签出人、文档摘要,版本等详细信息。
l 提供文件详细描述信息,系统自动显示文件概要。
l 提供文件下载和浏览的统计功能。
3) 常用文件预览
l 预览时不能拷贝,复制、粘贴、打印、另存文件内容。
l 支持常见的文本类文件预览。
l 支持office Word Excel PowerPoint 95,97,2000,XP,2003,2007,2010版本文件的预览。
l 支持Rtf文件预览。
l 支持Pdf文件预览。
l 支持常用的图形 bmp, gif, jpg, jpeg, png, pdd, psp, tga, tif, tiff, pcd, fax 等文件格式预览。
l 支持Photoshop(psd等)文档预览。
l 支持 MHT、HTML等页面文件预览。
l 支持常见的AVI,MP3等常见多媒体文件预览及播放。
l 支持邮件格式EML文件的预览,支持邮件附件文件内容的全部检索。
l 系统针对多媒体视频,系统自带生成缩略图,生成1分钟摘要视频剪辑。

4) 工程文件预览
l 支持Autocad常见格式文档预览。
5) 文件修改及版本控制
l 支持常用文件的修改(需要客户端软件的支持),修改前的文件自动备份为旧版本。
l 提供版本控制功能,用户可以签出且锁定文件,签入文件时自动形成历史版本。
l 系统提供历史版本文件的预览,回滚,和本地文件的对比等版本控制的操作。
l 支持按组设定历史版本的数量。
l 支持文件版本的签入签出,服务器版本和本地版本的对比等。
l 支持文件重命名。
6) 文件搜索
l 支持文本文件的标题和正文全文检索。
l 支持office Word Excel PowerPoint 95,97,2000,XP,2003,2007,2010等文件的标题和文件内容的正文搜索,系统自动从这些文件中提取正文,自动建立索引供用户搜索。
l 支持PDF文件内容的全文搜索。
l 支持多条件文件搜索。
l 支持文件夹搜索。
l 支持文件摘要的搜索。
l 支持中文分词和用户自定义词库。
l 支持搜索词智能提示。
l 记录用户的搜索历史。
7) 文件发布
l 可以通过此功能让非系统注册用户访问系统内的文件,发布文件可以设置访问密码。
8) 文件属性
l 支持用户自己定义文件的扩展属性(元数据)结构。
l 可以对文件属性进行设置,修改文件属性。
l 可以全文检索文件属性。
l 可以针对文件属性多条件组合查询。
l 导出文件属性查询结果。
9) 文件归档
l 系统支持文件归档操作。
l 系统文件归档后,文件将不能修改删除。但可以下载,浏览。
l 归档文件可以取消归档。
10) 文件留言
l 支持对一个文件留言,回复。
11) 文件映射
l 支持同一个文件出现在不同的文件夹中,映射文件的同时可以设置权限。
l 支持文件夹中全部文件的映射。
l 支持文件夹中新增文件的自动映射。
12) 文件快照
l 支持对一个文件增加快照文件,方便用户预览。
13) 文件邮件和消息
l 支持站内用户的消息传递,支持通过控件发送邮件。
14) 文件审核
l 支持文件审核,当系统启动审核功能后,文档需要审核才能使用。
l 支持文件上传,下载,预览,删除审核
l 支持文件夹删除审核。
15) 回收站
l 提供回收站功能,文件夹和文件删除时先删除到回收站中。可以从回收站中恢复文件。同时显示删除时间和删除操作人员。
3. 组及用户管理、权限控制部分
1) 分组管理
l 用户分组管理,系统可以设置多个工作组,每个组相对独立,管理更清晰。
l 可以针对一个文件夹,文件按组设置权限。
2) 支持文件密级和用户密级管理
l 支持文件密级和用户密级管理,支持管理员三权分立和审计。
3) 权限分类
l 目录具体包含列表、增加、修改、删除、授权权限,
l 文件具体包含列表、预览、上传、下载 、修改(包括下载) 、删除、审核、发布,
l 日志权限、组权限。
4) 用户的组权限
l 把用户增加到组中可以给用户不同的权限,用户就可以以此权限访问操作组的文件夹和文件。
l 系统提供授权模板,也可以增加和修改授权模板。
l 可以查看和修改授权。
5) 文件夹权限
l 档组权限不能满足权限要求时,直接可以对一个文件夹授权。可以查看和修改授权。
6) 文件权限
l 当单独给一个或者几个文件授权时,使用此功能。可以查看和修改授权。
7) 用户管理
l 系统可以查看用户的信息,初始化密码,禁用和启用用户。支持用户批量导入。
l 支持用户复杂密码规则。
8) 域用户管理
l 系统提供windows 域用户自动登录系统,系统后台处理用户信息。这样和原来的系统实现对接。
l 支持选择一个或者多个域组导入文档管理,可以实现域组和文档管理组的对应,可以选择是否在文档管理中显示域组。
l 可以选择导入域的全部或者一个组的用户,可以选择是否删除非域用户。
4. 移动端部分
l 支持移动端上传文件。
l 支持移动端新建文件夹,参看文件摘要。
l 支持移动端下载文件,预览图片,打开查看Office, PDF格式文件。
l 移动端消息通知。
l 支持安卓、苹果APP。
5. 系统管理部分
1) 用户管理
l 管理用户,重置用户密码,禁止会启用用户登录系统
l 用户系统登录MAC地址绑定。
l 统计用户文档空间
2) 用户积分统计和重置
l 统计用户积分。
l 重置用户积分。
l 设置积分规则。
3) 图表统计
l 以查看一个组的文档上传、浏览、下载情况,用户对应组的贡献度,同时可以查看用户活跃度等。
l 工作组文档相关 , 可以统计上传、下载、预览、修改情况并生成统计图表。
l 贡献度(工作组)相关,可以统计上传文件贡献度 、修改文件贡献度并生成图表 。
l 用户活跃度相关,可以统计用户上传、下载、浏览、修改活跃度并生成统计图表。
4) 文件备份及恢复
l 提供组或者用户的文档备份和恢复操作。备份时可以选择时间范围,文件夹等,恢复时可以恢复某几个文件。
5) 文件操作日志管理
l 系统记录用户的全部文件操作,管理员可以监控文件的操作情况。
6) 文件上传统计。
7) IP访问控制。
6. API开发和系统集成
系统提供API开发控件,通过此控件可以完成系统大部分功能,且通过此API可以和其它系统方便的集成在一起,实现协同办公。
提供NET,JAVA开发实例。
我用的是多可文档管理。

Api接口管理工具推荐

在App开发过程中少不了跟服务端打交道,各种HTTP接口调试、返回数据处理占据了不少开发时间,一款好的接口管理工具就非常有必要了。接口管理工具一方面起到链接后台开发人员和App开发人员的作用,另一方面也可以作为传统的接口文档使用,且比文档的实时性更强。

因为各个团队的情况不太一样,可能对接口管理有不一样的需求,目前有不少接口管理工具,足以覆盖不同团队的需求,下面来简单介绍一下。

1. YApi
https://github.com/YMFE/yapi
YApi是由去哪网前端团队开源的一款接口管理工具,功能强大,可以轻松的自己部署。而且支持使用docker部署,使用成本很低了。

使用docker部署可以参考这篇文章: https://www.jianshu.com/p/a97d2efb23c5

2. Rap2
https://github.com/thx/rap2-delos
Rap2是由阿里妈妈前端团队开源的一款接口管理工具,相对YApi来说,至少文档上面差一些,Github上没有太多介绍,也没提及用docker部署,但也是一个选择吧。

3. eolinker
https://www.eolinker.com/
eolinker是一个接口管理服务网站,如果不想自己部署YApi、Rap2的团队可以使用,免费版的功能对于小型团队来说足够了。

4. Postman
https://www.getpostman.com/
跨平台的管理工具,可以免费使用,支持mock,支持团队协作,免费版本的限制主要在于每个月1000次的限制,包括Mock请求、API请求等等,对于小型团队(3~5人)应该是足够了。

5. Paw
https://paw.cloud/
仅支持Mac平台,可以试用30天,正式版要49.99美元,不是特别推荐使用,毕竟不能跨平台。

以上几个都能满足我们对于接口管理的需求,综合来看,多数团队可以直接使用eolinker提供的服务,Postman也可以,但是考虑到国内的网络情况并不推荐。对于有一定技术实力的团队可以使用YApi、Rap2,自己部署,甚至二次开发满足团队需求。

现在大公司用的API文档生成工具有哪些?分析下各种工具的优缺点,哪种工具用起来最方便?

在API 经济模式下, IBM提出API 经济解决方案:http://www-01.ibm.com/software/cn/middleware/integration/api-economy.html,其中有专门的API管理和连接的产品,叫API Connect,产品连接是http://www-03.ibm.com/software/products/zh/api-connect

神器 SpringDoc 横空出世!最适合 SpringBoot 的API文档工具来了

之前在SpringBoot项目中一直使用的是SpringFox提供的Swagger库,上了下官网发现已经有接近两年没出新版本了!前几天升级了SpringBoot 2.6.x 版本,发现这个库的兼容性也越来越不好了,有的常用注解属性被废弃了居然都没提供替代!无意中发现了另一款Swagger库SpringDoc,试用了一下非常不错,推荐给大家!

SpringDoc简介

SpringDoc是一款可以结合SpringBoot使用的API文档生成工具,基于OpenAPI 3,目前在Github上已有1.7K+Star,更新发版还是挺勤快的,是一款更好用的Swagger库!值得一提的是SpringDoc不仅支持Spring WebMvc项目,还可以支持Spring WebFlux项目,甚至Spring Rest和Spring Native项目,总之非常强大,下面是一张SpringDoc的架构图。

使用

接下来我们介绍下SpringDoc的使用,使用的是之前集成SpringFox的mall-tiny-swagger项目,我将把它改造成使用SpringDoc。

集成

首先我们得集成SpringDoc,在pom.xml中添加它的依赖即可,开箱即用,无需任何配置。

<!--springdoc 官方Starter--org.springdocspringdoc-openapi-ui1.6.6

从SpringFox迁移

我们先来看下经常使用的Swagger注解,看看SpringFox的和SpringDoc的有啥区别,毕竟对比已学过的技术能该快掌握新技术;

接下来我们对之前Controller中使用的注解进行改造,对照上表即可,之前在@Api注解中被废弃了好久又没有替代的description属性终于被支持了!

/**

* 品牌管理Controller

* Created by macro on 2019/4/19.

*/@Tag(name ="PmsBrandController", description ="商品品牌管理")@Controller@RequestMapping("/brand")publicclassPmsBrandController{@AutowiredprivatePmsBrandService brandService;privatestaticfinalLogger LOGGER = LoggerFactory.getLogger(PmsBrandController.class);@Operation(summary ="获取所有品牌列表",description ="需要登录后访问")@RequestMapping(value ="listAll", method = RequestMethod.GET)@ResponseBodypublicCommonResult getBrandList() {returnCommonResult.success(brandService.listAllBrand());    }@Operation(summary ="添加品牌")@RequestMapping(value ="/create", method = RequestMethod.POST)@ResponseBody@PreAuthorize("hasRole('ADMIN')")publicCommonResult createBrand(@RequestBodyPmsBrand pmsBrand) {        CommonResult commonResult;        int count = brandService.createBrand(pmsBrand);if(count ==1) {            commonResult = CommonResult.success(pmsBrand);            LOGGER.debug("createBrand success:{}", pmsBrand);        }else{            commonResult = CommonResult.failed("操作失败");            LOGGER.debug("createBrand failed:{}", pmsBrand);        }returncommonResult;    }@Operation(summary ="更新指定id品牌信息")@RequestMapping(value ="/update/{id}", method = RequestMethod.POST)@ResponseBody@PreAuthorize("hasRole('ADMIN')")publicCommonResult updateBrand(@PathVariable("id")Longid,@RequestBodyPmsBrand pmsBrandDto, BindingResult result) {        CommonResult commonResult;        int count = brandService.updateBrand(id, pmsBrandDto);if(count ==1) {            commonResult = CommonResult.success(pmsBrandDto);            LOGGER.debug("updateBrand success:{}", pmsBrandDto);        }else{            commonResult = CommonResult.failed("操作失败");            LOGGER.debug("updateBrand failed:{}", pmsBrandDto);        }returncommonResult;    }@Operation(summary ="删除指定id的品牌")@RequestMapping(value ="/delete/{id}", method = RequestMethod.GET)@ResponseBody@PreAuthorize("hasRole('ADMIN')")publicCommonResult deleteBrand(@PathVariable("id")Longid) {        int count = brandService.deleteBrand(id);if(count ==1) {            LOGGER.debug("deleteBrand success :id={}", id);returnCommonResult.success(null);        }else{            LOGGER.debug("deleteBrand failed :id={}", id);returnCommonResult.failed("操作失败");        }    }@Operation(summary ="分页查询品牌列表")@RequestMapping(value ="/list", method = RequestMethod.GET)@ResponseBody@PreAuthorize("hasRole('ADMIN')")publicCommonResult listBrand(@RequestParam(value ="pageNum", defaultValue ="1")@Parameter(description ="页码")Integer pageNum,@RequestParam(value ="pageSize", defaultValue ="3")@Parameter(description ="每页数量")Integer pageSize) {        List brandList = brandService.listBrand(pageNum, pageSize);returnCommonResult.success(CommonPage.restPage(brandList));    }@Operation(summary ="获取指定id的品牌详情")@RequestMapping(value ="/{id}", method = RequestMethod.GET)@ResponseBody@PreAuthorize("hasRole('ADMIN')")publicCommonResult brand(@PathVariable("id")Longid) {returnCommonResult.success(brandService.getBrand(id));    }}

接下来进行SpringDoc的配置,使用OpenAPI来配置基础的文档信息,通过GroupedOpenApi配置分组的API文档,SpringDoc支持直接使用接口路径进行配置。

/**

* SpringDoc API文档相关配置

* Created by macro on 2022/3/4.

*/@ConfigurationpublicclassSpringDocConfig{@BeanpublicOpenAPImallTinyOpenAPI(){returnnewOpenAPI()                .info(newInfo().title("Mall-Tiny API")                        .description("SpringDoc API 演示")                        .version("v1.0.0")                        .license(newLicense().name("Apache 2.0").url("https://github.com/macrozheng/mall-learning")))                .externalDocs(newExternalDocumentation()                        .description("SpringBoot实战电商项目mall(50K+Star)全套文档")                        .url("http://www.macrozheng.com"));    }@BeanpublicGroupedOpenApipublicApi(){returnGroupedOpenApi.builder()                .group("brand")                .pathsToMatch("/brand/**")                .build();    }@BeanpublicGroupedOpenApiadminApi(){returnGroupedOpenApi.builder()                .group("admin")                .pathsToMatch("/admin/**")                .build();    }}

结合SpringSecurity使用

由于我们的项目集成了SpringSecurity,需要通过JWT认证头进行访问,我们还需配置好SpringDoc的白名单路径,主要是Swagger的资源路径;

/**

* SpringSecurity的配置

* Created by macro on 2018/4/26.

*/@Configuration@EnableWebSecurity@EnableGlobalMethodSecurity(prePostEnabled = true)public class SecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity httpSecurity) throws Exception {httpSecurity.csrf()// 由于使用的是JWT,我们这里不需要csrf.disable().sessionManagement()// 基于token,所以不需要session.sessionCreationPolicy(SessionCreationPolicy.STATELESS).and().authorizeRequests().antMatchers(HttpMethod.GET,// Swagger的资源路径需要允许访问"/","/swagger-ui.html","/swagger-ui/","/*.html","/favicon.ico","/**/*.html","/**/*.css","/**/*.js","/swagger-resources/**","/v3/api-docs/**").permitAll().antMatchers("/admin/login")// 对登录注册要允许匿名访问.permitAll().antMatchers(HttpMethod.OPTIONS)//跨域请求会先进行一次options请求.permitAll().anyRequest()// 除上面外的所有请求全部需要鉴权认证.authenticated();            }}

然后在OpenAPI对象中通过addSecurityItem方法和SecurityScheme对象,启用基于JWT的认证功能。

/**

* SpringDoc API文档相关配置

* Created by macro on 2022/3/4.

*/@ConfigurationpublicclassSpringDocConfig{privatestaticfinalString SECURITY_SCHEME_NAME ="BearerAuth";@BeanpublicOpenAPImallTinyOpenAPI(){returnnewOpenAPI()                .info(newInfo().title("Mall-Tiny API")                        .description("SpringDoc API 演示")                        .version("v1.0.0")                        .license(newLicense().name("Apache 2.0").url("https://github.com/macrozheng/mall-learning")))                .externalDocs(newExternalDocumentation()                        .description("SpringBoot实战电商项目mall(50K+Star)全套文档")                        .url("http://www.macrozheng.com"))                .addSecurityItem(newSecurityRequirement().addList(SECURITY_SCHEME_NAME))                .components(newComponents()                                .addSecuritySchemes(SECURITY_SCHEME_NAME,newSecurityScheme()                                                .name(SECURITY_SCHEME_NAME)                                                .type(SecurityScheme.Type.HTTP)                                                .scheme("bearer")                                                .bearerFormat("JWT")));    }}

测试

接下来启动项目就可以访问Swagger界面了,访问地址:http://localhost:8088/swagger-ui.html

我们先通过登录接口进行登录,可以发现这个版本的Swagger返回结果是支持高亮显示的,版本明显比SpringFox来的新;

然后通过认证按钮输入获取到的认证头信息,注意这里不用加bearer前缀;

之后我们就可以愉快地访问需要登录认证的接口了;

看一眼请求参数的文档说明,还是熟悉的Swagger样式!

常用配置

SpringDoc还有一些常用的配置可以了解下,更多配置可以参考官方文档。

springdoc:swagger-ui:# 修改Swagger UI路径path:/swagger-ui.html# 开启Swagger UI界面enabled:trueapi-docs:# 修改api-docs路径path:/v3/api-docs# 开启api-docsenabled:true# 配置需要生成接口文档的扫描包packages-to-scan:com.macro.mall.tiny.controller# 配置需要生成接口文档的接口路径paths-to-match:/brand/**,/admin/**

总结

在SpringFox的Swagger库好久不出新版的情况下,迁移到SpringDoc确实是一个更好的选择。今天体验了一把SpringDoc,确实很好用,和之前熟悉的用法差不多,学习成本极低。而且SpringDoc能支持WebFlux之类的项目,功能也更加强大,使用SpringFox有点卡手的朋友可以迁移到它试试!

参考资料

项目地址:https://github.com/springdoc/springdoc-openapi

官方文档:https://springdoc.org/

项目源码地址

https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-springdoc

https://mp.weixin.qq.com/s/scityFhZp9BOJorZSdCG0w 关于免费api文档管理和api文档管理工具的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 免费api文档管理的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于api文档管理工具、免费api文档管理的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:在Java中使用Jwt的示例代码
下一篇:开源视频电影api(开源的视频网站)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~