前言
利用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("項目地址")
);