查看原文
其他

无需额外注解的 SpringBoot API 文档生成工具(附源码)

GitHub猿 2022-07-01

推荐关注

责编:猿哥 | 来源:叶大侠

往期文章:看看人家那前后端数据可视化系统,那叫一个优雅(附源码)


正文
   
大家好,我是GitHub猿。今天,推荐一个系统。猿哥第一次使用就有点上头,爱不释手,必须要推荐给大家。

上次是谁要的系统啊,猿哥帮你找到了。

这是我目前见过最好的系统。功能完整,代码结构清晰。值得推荐。

📚 项目介绍


本项目系统是一款无需额外注解、开箱即用的SpringBoot接口文档生成工具。



编写和维护API文档这个事情,对于后端程序员来说,是一件恼人但又不得不做的事情,我们都不喜欢写文档,但除非项目前后端代码都是自己写的,否则API文档将是前后端协作中一个不可或缺的沟通界面。


既然不可避免,那就想办法弄个轮子吧。人生苦短,必须偷懒。


无图无真相,生成文档的效果如下:



相比Swagger要写一堆注解,Spring RestDocs需要写测试用例,才能生成API文档。JApiDocs具有无痛集成的特点,你只需花几分钟就能知道它怎么用了。关注GitHub猿

快速开始

要使得JApiDcos正确工作,你写的代码应该是像下面的样子的:


/**
* 用户接口
*/

@RequestMapping("/api/user/")

@RestController

publicclass UserController {    

/**
* 用户列表
* @param listForm
*/

@RequestMapping(path = "list",method = {RequestMethod.GET,  RequestMethod.POST})

public ApiResult<PageResult<UserVO>> list(UserListForm listForm){

   returnnull;
}    

/**
* 保存用户
* @param userForm
*/

@PostMapping(path = "save")    

public ApiResult<UserVO> saveUser(@RequestBody UserForm userForm)

{        

   returnnull;
}
}


我们给Controller类和方法加上必要的注释,给接口方法返回相关的对象类型。是的,这样JApiDocs就能解析到相关的接口信息了,就跟我们平时写的代码是差不多的,但要注意,你要通过`@param`来告诉JApiDocs接口的参数,但在IDE的帮助下,这个工作将是轻松愉悦的:


另外,搜索公众号程序员小乐后台回复“接私活”,获取一份惊喜礼包。



然后你在任意一个`main`入口方法执行下面的代码就可以生成文档了:


DocsConfig config = new DocsConfig();

// 项目根目录config.setProjectPath("your springboot project path");

// 项目名称

config.setProjectName("ProjectName");

// 声明该API的版本

config.setApiVersion("V1.0");      

// 生成API 文档所在目录

config.setDocsPath("your api docs path");

// 配置自动生成

config.setAutoGenerate(Boolean.TRUE);  

// 执行生成文档

Docs.buildHtmlDocs(config);


接下来你只管好好写代码,生成Api文档的工作就可以交给JApiDocs了,你不需要再为额外编写和维护文档而烦恼。扩展:接私活神器!


功能特性

1、代码即文档


JApiDocs是通过直接解析SpringBoot的源码语法来工作的,所以只要Controller的语法符合一定的代码规范,有合理的注释,就可以直接导出文档。


2、支持导出HTML


便捷的导航和接口查看界面;可本地预览,或者部署到HTTP服务器。推荐部署到服务器,方便前后端展开协作。


3、同步导出客户端Model代码


支持导出Android端的 Java 和iOS端的 Object C Model代码,减少前端程序员的重复编码工作。


4、更多特性


支持接口搜索;支持不同版本和英文文档;自定义扩展等。


简洁的文档


再好用的东西,如果没有文档说明,别人也无从入手。为了让大家尽快上手,JApiDocs准备了一份极简的文档说明,确保你在几分钟就能用上JApiDocs


花5分钟不到就能认识一个提高工作效率的工具,让你把更多的时间花在更加有价值的事情上,你确认不看一下吗?

欢迎有需要的同学试试,如果本文对您有帮助,也请帮忙点个 赞 + 在看 啦!❤️

GitHub猿 还有更多优质项目系统学习资源,欢迎分享给其他同学吧!

源码获取

扫码下方二维码,后台回复【文档工具】即可获取所有系统

--END--


猿哥个人微信


添加猿哥个人微信即送一份惊喜大礼包


→ 技术资料共享

→ 技术交流社群



版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!

往日文章:
推荐一套开源通用后台管理系统(附源码)
一款神奇的极客工具,用了永无 Bug
推荐一个酷炫的监控系统(附源码)!
看看人家那 IM 即时通讯系统,那叫一个优雅(附源码)
推荐一款代码生成器系统,绝了(附源码)
看看人家那微信小程序,那叫一个优雅(附源码)
西安一码通崩溃的真实原因找到了!一款神仙接私活低代码平台,吊到不行(附源码)
再见,百度网盘!新 60MB/s!

最近,GitHub猿建了一个「GitHub猿交流群」,欢迎大家一起交流优秀开源项目,也可以宣传自己的开源项目,在 「GitHub猿」公众号后台回复【加群】邀请你入群。

你点的每个赞,我都认真当成了喜

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存