今天分享一个生成静态文档的工具 JApiDocs
。
首先看一下生成效果

和 Swagger 对比
优点
- 和
Swagger
相比,JApiDocs
对现有代码无任何侵入,只需按 javadoc
格式添加注释,就能生成文档。
缺点
JApiDocs
适合生成静态文档,目前没有 Swagger
的调试功能。
- 需要解析的对象必须在项目的源码中,不支持
Jar
包内的注释解析。
下面来快速入门
首先引入依赖
1 2 3 4 5
| <dependency> <groupId>io.github.yedaxia</groupId> <artifactId>japidocs</artifactId> <version>1.4</version> </dependency>
|
按照 javadoc
格式添加注释的 UserController
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
@RequestMapping("/api/user/") @RestController public class UserController {
@RequestMapping(path = "list", method = {RequestMethod.GET, RequestMethod.POST} ) public BaseResponse<List<UserVO>> list(UserVO user){ return null; }
@PostMapping(path = "save") public BaseResponse<UserVO> saveUser(@RequestBody UserVO user){ return null; }
@PostMapping("delete") public BaseResponse deleteUser(@RequestParam Long userId){ return null; }
}
|
实体 UserVO
1 2 3 4 5 6 7 8 9 10 11
|
public class UserVO { private Long id; private String userName;
}
|
运行以下代码即可生成文档
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public class JApiDocsApplication {
public static void main(String[] args) { String projectPath = System.getProperty("user.dir") + "/spring-boot-2.x-samples/spring-boot-samples-japidocs"; DocsConfig config = new DocsConfig(); config.setProjectPath(projectPath); config.setProjectName("SpringBoot 集成 JApiDocs 生成"); config.setApiVersion("V1.0"); config.setDocsPath(projectPath + "/docs"); config.setAutoGenerate(Boolean.TRUE); Docs.buildHtmlDocs(config); } }
|
更多配置参考:
JApiDocs 官方文档:https://japidocs.agilestudio.cn/#/
代码示例
本文的完整工程可以查看下面仓库中的 spring-boot-samples-japidocs
目录:
如果您觉得本文不错,欢迎Star
支持,您的关注是我坚持的动力!