前言
利用smart-doc生成一个接口文档,关于它的优点什么的就不多说了。
项目地址:https://github.com/shalousun/smart-doc
具体使用
maven引用
<dependency>
<groupId>com.github.shalousun</groupId>
<artifactId>smart-doc</artifactId>
<version>1.7.6</version>
<scope>test</scope>
</dependency>
具体代码
import org.junit.Test;
import com.power.common.util.DateTimeUtil;
import com.power.doc.builder.AdocDocBuilder;
import com.power.doc.builder.ApiDocBuilder;
import com.power.doc.builder.HtmlApiDocBuilder;
import com.power.doc.model.ApiConfig;
import com.power.doc.model.ApiDataDictionary;
import com.power.doc.model.ApiErrorCode;
import com.power.doc.model.ApiReqHeader;
import com.power.doc.model.RevisionLog;
import com.power.doc.model.SourceCodePath;
/**
* 接口文档生成测试类
*
* @author yunwq
* @since 2019/11/18
*/
public class ApiDocTest {
/**
* 测试方法
*/
@Test
public void testBuilderControllersApiSimple() {
ApiConfig config = new ApiConfig();
// 接口地址
config.setServerUrl("http://localhost:8080");
// 严格模式
config.setStrict(true);
// 是否生成到一个文档中
config.setAllInOne(true);
// 文档输出地址
config.setOutPath("d:\\1000");
// 覆盖文件
config.setCoverOld(true);
// 读取项目源码地址
config.setSourceCodePaths(
// smart-doc对路径自动会做处理,无论是window合适linux系统路径,直接拷贝贴入即可。可以把该生成方法添加到具体项目中生成,也可以作为一个单独项目。
// SourceCodePath.path().setDesc("本项目代码").setPath("src/main/java"),
SourceCodePath.path().setDesc("加载外部项目源码").setPath("D:\\workspace\\helloword\\src\\main\\java")
);
config.setProjectName("Your project name");
// 扫描包的过滤器
config.setPackageFilters("com.yunwq.member.controller");
long start = System.currentTimeMillis();
// 生成adoc文件
// AdocDocBuilder.builderControllersApi(config);
// 生成md文件
// ApiDocBuilder.builderControllersApi(config);
// 生成html文件
HtmlApiDocBuilder.builderControllersApi(config);
long end = System.currentTimeMillis();
DateTimeUtil.printRunTime(end, start);
}
}
后记
项目使用比较简单,但是关键在于把要生成接口文档的项目源码读取到(千万别像我刚开始以为需要把要生成接口文档的项目启动,通过请求接口生成文档),即下边这段代码
// 读取项目源码地址
config.setSourceCodePaths(
SourceCodePath.path().setDesc("项目描述").setPath("项目地址")
);