GitHub:SpringFox-Plus: https://github.com/hadix-lin/springfox-plus
这个项目默认集成了 swagger-ui,也可以配合 swagger-bootstrap-ui 使用。
请有空的同学帮忙测试一下,有问题请在这里或 github 返回,谢谢。
SpringFox是一个优秀的项目,为基于 Spring 的 RestAPI 文档生成提供了强大的支持,另外还具有优秀的扩展机制.
SpringFox 原生提供的插件,只能从 Swagger-Annotation 注解中提取描述文档.使用注解提供文档有如下缺陷:
@ApiParam,@ApiOperation,@ApiModelProperty
)SpringFox-Plus为 Spring-Fox 提供了读取 javadoc 作为 API 文档的能力.常规情况下可以替代@ApiParam,@ApiOperation,@ApiModelProperty
等注解的使用.80%以上的 API 文档也是通过这三个注解提供的.
在项目中添加 maven 依赖
<!-- springfox-plus -->
<dependency>
<groupId>io.github.hadix-lin</groupId>
<artifactId>springfox-plus</artifactId>
<version>1.0.2-SNAPSHOT</version>
</dependency>
<!-- 如果使用 spring-boot -->
<dependency>
<groupId>io.github.hadix-lin</groupId>
<artifactId>springfox-plus-spring-boot-starter</artifactId>
<version>1.0.2-SNAPSHOT</version>
</dependency>
<!-- 使用 SNAPSHOT 版本需要声明如下仓库 -->
<repositories>
<repository>
<id>oss</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>
</repositories>
导入 Bean 声明
// 方法一 : 在您的 @Configuration 类上加上如下代码
@Import(io.github.hadixlin.springfoxplus.SpringfoxPlusConfiguration.class)
// 方法二 : 确保`JavaDocAutoConfiguration`在 Bean 扫描范围内
@ComponentScan(basepackages="io.github.hadixlin.springfoxplus")
// 方法三 : 项目使用 SpringBoot,引入 maven 依赖后,不需要额外配置代码
// 可以参考源码中的"springfox-plus-sample"项目
使用 maven 插件执行目标:springfox-plus:javadoc
插件配置: 下面的配置将javadoc
默认绑定到了compile
阶段.所以在执行mvn compile
时即可解析 javadoc
<build>
<plugins>
<plugin>
<groupId>io.github.hadix-lin</groupId>
<artifactId>springfox-plus-maven-plugin</artifactId>
<version>${springfox-plus.version}</version>
<executions>
<execution>
<id>javadoc</id>
<phase>compile</phase>
<goals>
<goal>javadoc</goal>
</goals>
<configuration>
<packages>
<!-- 指定要扫描的包,没有该配置默认扫描所有的 java 源文件-->
<p>io.github.hadixlin.springfoxplus</p>
</packages>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
配置好 maven 插件后,在 pom.xml 所在目录中执行下面的命令即可
mvn springfox-plus:javadoc
# 或
mvn compile
正常运行项目,使用 swagger-ui 查看 API 文档即可,可以看到 API 方法的的 javadoc 被读作作为 API 文档展示.
swagger-ui 可以直接通过http://host:port/swagger-ui.html
来访问
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.