java 接口文档技术总结

时间:2025-08-26 15:42:01来源:互联网

下面小编就为大家分享一篇java 接口文档技术总结,具有很好的参考价值,希望对大家有所帮助。

技术总结

  • 如果你追求现代化、国际化标准,推荐使用 Springdoc OpenAPI。
  • 如果你希望减少代码侵入性、注重中文文档体验,推荐使用 Smart-Doc。
  • 如果你在国内项目中需要更友好的 UI 和功能,可尝试 Knife4j。

Springdoc OpenAPI

官网:https://springdoc.org

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>1.6.14</version>
</dependency>
http://localhost:8080/swagger-ui.html
或
http://localhost:8080/swagger-ui/index.html

Swagger + Springfox(已逐渐淘汰)

已不再积极维护

Smart-Doc(国产优秀工具)

官网:https://smart-doc-group.gitee.io/smart-doc-website/

不依赖注解,通过分析 Java 注释生成文档,不依赖Swagger

<plugin>
    <groupId>com.power.doc</groupId>
    <artifactId>smart-doc-maven-plugin</artifactId>
    <version>3.2.0</version>
    <executions>
        <execution>
            <phase>generate-sources</phase>
            <goals>
                <goal>html</goal>
            </goals>
        </execution>
    </executions>
</plugin>

YApi + 自动生成对接

  • YApi 是一个开源的接口管理平台
  • 可以通过插件将 Spring Boot 接口自动导入到 YApi 平台中
  • 支持 CI/CD 流程自动化同步接口信息

Knife4j

官网:https://doc.xiaominfo.com/

是对 swagger-bootstrap-ui 的升级版本

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>3.0.3</version>
</dependency>
http://localhost:8080/doc.html

 

swagger说明

  • Swagger 是一个接口定义与文档生成的标准体系,它为 RESTful API 提供了一套规范化的描述方式(即 OpenAPI Specification,简称 OAS),并配套了一系列工具链来支持文档自动生成、可视化展示、接口测试等能力。
  • Swagger 最初是由 SmartBear 公司提出的一套 API 描述规范和工具集。
  • 后来该规范被标准化为 OpenAPI Specification(OAS),成为行业标准。
  • 因此,Swagger 可以看作是 OpenAPI 规范的一个具体实现。

Spring Boot 中常用的 Swagger 实现框架:

  • Springfox:基于 Swagger 2 规范,已不再维护,不支持 Spring Boot 2.6+ 和 OpenAPI 3.0
  • Springdoc OpenAPI:基于 OpenAPI 3.0 规范,支持 Swagger UI、ReDoc 等界面展示,Springdoc 是目前推荐替代 Springfox 的主流方案
  • Knife4j:基于 Swagger UI,对 Swagger UI 的增强版,UI 更美观,功能更丰富
OpenAPI Specification (OAS)
       ↑
       └── Swagger(原始实现)
               ├── Swagger UI
               ├── Swagger Core
               └── Swagger Codegen
       └── Springdoc OpenAPI(现代实现)
               ├── 支持 OpenAPI 3.0
               └── 集成 Swagger UI 展示
       └── Knife4j(国产增强版)
               ├── 基于 Swagger UI
               └── 支持 Spring Boot

 

本站部分内容转载自互联网,如果有网站内容侵犯了您的权益,可直接联系我们删除,感谢支持!