通过使用JApiDocs工具,自动创建Spring Boot API文档
简要概述
据说JApiDocs是一个可以自动生成API文档而无需编写注释的库。我觉得挺方便的,所以就试用了一下。
一个神奇的Spring Boot API文档生成器,无需注释。
要求
-
- Supported JDK:1.8+
-
- maven・gradle(今回は Gradle 6.8.3を使います)
- spring-boot cli(Spring CLI v2.4.4)
操作系统
苹果操作系统中的macOS
步骤
使用Spring Boot CLI,创建一个Spring Boot项目。
spring init --build=gradle --java-version=1.8 --dependencies=web japidoc
当执行上述命令后,将创建下方所示的目录。
├── HELP.md
├── build.gradle
├── gradlew
├── gradlew.bat
├── settings.gradle
├── src
│ ├── main
│ │ ├── java
|- com.example.japidoc
|- DemoApplication.java
添加JApiDocs的请求
在build.gradle中添加JApiDocs。
// build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
// japidocs追加
implementation 'io.github.yedaxia:japidocs:1.4.4'
}
设置JApiDocs
在主函数(main)中添加以下代码
public class DemoApplication {
final static String version = "v1.0";
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
// JApiDocの設定を追加する
DocsConfig config = new DocsConfig();
String userDirectory = System.getProperty("user.dir");
// 項目のrootパスを設定する
config.setProjectPath(userDirectory);
// 項目名設定 config.setProjectName(Paths.get(userDirectory).getFileName().toString());
// 項目バージョンを設定する
config.setApiVersion(version);
// apiドキュメントの出力ディレクトリを設定する
config.setDocsPath(userDirectory);
// 自動出力
config.setAutoGenerate(Boolean.TRUE);
// markdownファイルプラグインを追加してあげれば、markdownファイルの出力も可能となる
// htmlファイルを出力
config.addPlugin(new MarkdownDocPlugin());
Docs.buildHtmlDocs(config);
}
}
我试着写一个控制器 (wǒ xiě
添加以下控制器并创建API文档。
/**
* User API
* @description this is a class
*/
@RestController
public class HelloWorld {
/**
* hello world
* @description this is a method
* @param msg
*/
@RequestMapping(path = "list", method = {RequestMethod.GET})
public String home(@RequestParam String msg) {
return "Hello World!";
}
@ApiDoc(stringResult = "{code: 0, data: 'success'}")
@GetMapping(value = "custom-json")
public String customJsonResult(){ return "ok"; }
}
文件已生成
v1.0
├── apidoc.log
├── com_example_japidoc_HelloWorld.html
├── com_example_japidoc_controller_HelloWorld.html
├── index.html
├── japidoc-v1.0-api-docs.md
└── style.css
当我打开index.html时,看起来如下所示。

我会在这里参考更详细的设置。
印象
Swagger提供了post、curl等命令,非常方便。但是,如果要输出markdown文件可能会有些麻烦,如果可以与JApiDocs一起使用,可能会变得更加方便。