diff --git a/README.md b/README.md index 02edf49..d908f49 100644 --- a/README.md +++ b/README.md @@ -28,13 +28,13 @@ which looks a html like generated by `asciidoctor-maven-plugin` plugin. com.github.shalousun smart-doc - 1.7.4 + 1.7.5 test ``` #### gradle ``` -testCompile 'com.github.shalousun:smart-doc:1.7.4' +testCompile 'com.github.shalousun:smart-doc:1.7.5' ``` ### Create a unit test Just running a unit test will allow Smart-doc to generate a very concise api document for you, @@ -95,6 +95,13 @@ public class ApiDocTest { RevisionLog.getLog().setRevisionTime("2018/12/15").setAuthor("chen").setRemarks("test").setStatus("create").setVersion("V1.0"), RevisionLog.getLog().setRevisionTime("2018/12/16").setAuthor("chen2").setRemarks("test2").setStatus("update").setVersion("V2.0") ); + + //since 1.7.5 + //add data dictionary + config.setDataDictionaries( + ApiDataDictionary.dict().setTitle("Order status").setEnumClass(OrderEnum.class).setValueField("code").setDescField("desc"), + ApiDataDictionary.dict().setTitle("Order status1").setEnumClass(OrderEnum.class).setValueField("code").setDescField("desc") + ); long start = System.currentTimeMillis(); //Generating Markdown documentation diff --git a/README_CN.md b/README_CN.md index cf62610..86a4337 100644 --- a/README_CN.md +++ b/README_CN.md @@ -29,13 +29,13 @@ smart-doc使用和测试可参考[smart-doc demo](https://gitee.com/sunyureposit com.github.shalousun smart-doc - 1.7.4 + 1.7.5 test ``` #### gradle ``` -testCompile 'com.github.shalousun:smart-doc:1.7.4' +testCompile 'com.github.shalousun:smart-doc:1.7.5' ``` ### Create a unit test 通过运行一个单元测试来让Smart-doc为你生成一个简洁明了的api文档 @@ -109,6 +109,13 @@ public class ApiDocTest { RevisionLog.getLog().setRevisionTime("2018/12/15").setAuthor("chen").setRemarks("测试").setStatus("创建").setVersion("V1.0"), RevisionLog.getLog().setRevisionTime("2018/12/16").setAuthor("chen2").setRemarks("测试2").setStatus("修改").setVersion("V2.0") ); + + //since 1.7.5 + //文档添加数据字典 + config.setDataDictionaries( + ApiDataDictionary.dict().setTitle("订单状态").setEnumClass(OrderEnum.class).setValueField("code").setDescField("desc"), + ApiDataDictionary.dict().setTitle("订单状态1").setEnumClass(OrderEnum.class).setValueField("code").setDescField("desc") + ); long start = System.currentTimeMillis(); diff --git a/pom.xml b/pom.xml index 1a02a3f..2f25076 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 smart-doc jar - 1.7.4 + 1.7.5 smart-doc https://github.com/shalousun/smart-doc.git @@ -59,7 +59,7 @@ com.github.shalousun common-util - 1.8.7 + 1.8.8 diff --git a/src/main/java/com/power/doc/builder/DocBuilderTemplate.java b/src/main/java/com/power/doc/builder/DocBuilderTemplate.java index c3eea7d..c394269 100644 --- a/src/main/java/com/power/doc/builder/DocBuilderTemplate.java +++ b/src/main/java/com/power/doc/builder/DocBuilderTemplate.java @@ -172,11 +172,11 @@ public class DocBuilderTemplate { * @return list of ApiDocDict */ public List buildDictionary(ApiConfig config) { - List apiDataDictionaryList = config.getDataDictConfigs(); + List apiDataDictionaryList = config.getDataDictionaries(); List apiDocDictList = new ArrayList<>(); try { int order = 0; - for (ApiDataDictConfig apiDataDictionary : apiDataDictionaryList) { + for (ApiDataDictionary apiDataDictionary : apiDataDictionaryList) { order++; ApiDocDict apiDocDict = new ApiDocDict(); apiDocDict.setOrder(order); diff --git a/src/main/java/com/power/doc/builder/SourceBuilder.java b/src/main/java/com/power/doc/builder/SourceBuilder.java index 3437b49..516a5a8 100644 --- a/src/main/java/com/power/doc/builder/SourceBuilder.java +++ b/src/main/java/com/power/doc/builder/SourceBuilder.java @@ -268,7 +268,7 @@ public class SourceBuilder { if (null != method.getTagByName(IGNORE_TAG)) { continue; } - url = url.replaceAll("\"", "").trim(); + url = StringUtil.removeQuotes(url); apiMethodDoc.setType(methodType); url = this.appUrl + "/" + baseUrl + "/" + url; apiMethodDoc.setUrl(UrlUtil.simplifyUrl(url)); @@ -918,7 +918,6 @@ public class SourceBuilder { } boolean containsBrace = apiMethodDoc.getUrl().contains("{"); Map paramsMap = new LinkedHashMap<>(); - boolean hasFile = false; for (JavaParameter parameter : parameterList) { JavaType javaType = parameter.getType(); String simpleTypeName = javaType.getValue(); diff --git a/src/main/java/com/power/doc/model/ApiConfig.java b/src/main/java/com/power/doc/model/ApiConfig.java index 2e8f621..36660d8 100644 --- a/src/main/java/com/power/doc/model/ApiConfig.java +++ b/src/main/java/com/power/doc/model/ApiConfig.java @@ -94,7 +94,7 @@ public class ApiConfig { /** * api data dictionary */ - private List dataDictConfigs; + private List dataDictionaries; /** * @since 1.7.5 @@ -209,12 +209,12 @@ public class ApiConfig { this.adoc = adoc; } - public List getDataDictConfigs() { - return dataDictConfigs; + public List getDataDictionaries() { + return dataDictionaries; } - public void setDataDictConfigs(ApiDataDictConfig... dataDictConfigs) { - this.dataDictConfigs = CollectionUtil.asList(dataDictConfigs); + public void setDataDictionaries(ApiDataDictionary... dataDictConfigs) { + this.dataDictionaries = CollectionUtil.asList(dataDictConfigs); } public boolean isCoverOld() { diff --git a/src/main/java/com/power/doc/model/ApiDataDictConfig.java b/src/main/java/com/power/doc/model/ApiDataDictionary.java similarity index 71% rename from src/main/java/com/power/doc/model/ApiDataDictConfig.java rename to src/main/java/com/power/doc/model/ApiDataDictionary.java index fd9e84e..b107895 100644 --- a/src/main/java/com/power/doc/model/ApiDataDictConfig.java +++ b/src/main/java/com/power/doc/model/ApiDataDictionary.java @@ -3,7 +3,7 @@ package com.power.doc.model; /** * @author yu 2019/10/31. */ -public class ApiDataDictConfig { +public class ApiDataDictionary { /** * Dictionary @@ -31,15 +31,15 @@ public class ApiDataDictConfig { private String descField; - public static ApiDataDictConfig dict() { - return new ApiDataDictConfig(); + public static ApiDataDictionary dict() { + return new ApiDataDictionary(); } public String getTitle() { return title; } - public ApiDataDictConfig setTitle(String title) { + public ApiDataDictionary setTitle(String title) { this.title = title; return this; } @@ -48,7 +48,7 @@ public class ApiDataDictConfig { return enumClass; } - public ApiDataDictConfig setEnumClass(Class enumClass) { + public ApiDataDictionary setEnumClass(Class enumClass) { this.enumClass = enumClass; return this; } @@ -57,7 +57,7 @@ public class ApiDataDictConfig { return valueField; } - public ApiDataDictConfig setValueField(String valueField) { + public ApiDataDictionary setValueField(String valueField) { this.valueField = valueField; return this; } @@ -66,7 +66,7 @@ public class ApiDataDictConfig { return descField; } - public ApiDataDictConfig setDescField(String descField) { + public ApiDataDictionary setDescField(String descField) { this.descField = descField; return this; } @@ -75,7 +75,7 @@ public class ApiDataDictConfig { return enumClassName; } - public ApiDataDictConfig setEnumClassName(String enumClassName) { + public ApiDataDictionary setEnumClassName(String enumClassName) { this.enumClassName = enumClassName; return this; } diff --git a/src/main/resources/template/AllInOne.btl b/src/main/resources/template/AllInOne.btl index 7c9ad52..357375b 100644 --- a/src/main/resources/template/AllInOne.btl +++ b/src/main/resources/template/AllInOne.btl @@ -95,7 +95,7 @@ for(dict in dictList){ ### ${dict.title} Code |Type|Description ----|--- +---|---|--- <% for(dataDict in dict.dataDictList){ %> diff --git a/src/test/java/com/power/doc/ApiDocTest.java b/src/test/java/com/power/doc/ApiDocTest.java index 3693759..847ca47 100644 --- a/src/test/java/com/power/doc/ApiDocTest.java +++ b/src/test/java/com/power/doc/ApiDocTest.java @@ -52,8 +52,8 @@ public class ApiDocTest { //SourcePath.path().setPath("F:\\Personal\\project\\smart\\src\\main\\java") //SourcePath.path().setDesc("加载项目外代码").setPath("E:\\ApplicationPower\\ApplicationPower\\Common-util\\src\\main\\java") ); - config.setDataDictConfigs( - ApiDataDictConfig.dict().setTitle("订单字典").setEnumClass(OrderEnum.class).setValueField("code").setDescField("desc") + config.setDataDictionaries( + ApiDataDictionary.dict().setTitle("订单字典").setEnumClass(OrderEnum.class).setValueField("code").setDescField("desc") ); //设置请求头,如果没有请求头,可以不用设置 /* config.setRequestHeaders( @@ -76,11 +76,11 @@ public class ApiDocTest { RevisionLog.getLog().setRevisionTime("2018/12/16").setAuthor("chen2").setRemarks("测试2").setStatus("修改").setVersion("V2.0") ); - List apiDataDictionaryList = config.getDataDictConfigs(); + List apiDataDictionaryList = config.getDataDictionaries(); try { List apiDocDictList = new ArrayList<>();//模板中遍历这个字典表生成字典文档 int order = 0; - for (ApiDataDictConfig apiDataDictionary : apiDataDictionaryList) { + for (ApiDataDictionary apiDataDictionary : apiDataDictionaryList) { System.out.println("dictionary:" + apiDataDictionary.getTitle()); order++; ApiDocDict apiDocDict = new ApiDocDict();