From 8208ecbc1ecff8ab1fc7a202a384d87183141a0a Mon Sep 17 00:00:00 2001 From: duanledexianxianxian Date: Fri, 27 Mar 2020 17:38:44 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=88=90markdown=20api=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/description/TypeDescription.java | 2 +- .../java/com/kim/apidoc/core/schema/Row.java | 8 +++-- .../src/main/resources/templates/markdown.ftl | 29 ++++++++++--------- .../kim/apidoc/springmvc/SpringParser.java | 2 ++ .../com/kim/apidoc/example/common/User.java | 18 ++++++++++++ .../spring/advanced/AuthController.java | 1 + .../spring/advanced/EmptyController.java | 1 + .../spring/advanced/PageController.java | 1 + .../spring/advanced/UserController.java | 1 + .../spring/hello/GreetingController.java | 2 +- 10 files changed, 47 insertions(+), 18 deletions(-) diff --git a/apidoc-core/src/main/java/com/kim/apidoc/core/common/description/TypeDescription.java b/apidoc-core/src/main/java/com/kim/apidoc/core/common/description/TypeDescription.java index 7771898..16ff69a 100644 --- a/apidoc-core/src/main/java/com/kim/apidoc/core/common/description/TypeDescription.java +++ b/apidoc-core/src/main/java/com/kim/apidoc/core/common/description/TypeDescription.java @@ -94,7 +94,7 @@ public abstract class TypeDescription { condition.append("required=").append(required); } - return Lists.newArrayList(new Row(key, type, condition.toString(), def, remark)); + return Lists.newArrayList(new Row(key, type,false, condition.toString(), def, remark)); } } diff --git a/apidoc-core/src/main/java/com/kim/apidoc/core/schema/Row.java b/apidoc-core/src/main/java/com/kim/apidoc/core/schema/Row.java index ed47a68..22bdbd6 100644 --- a/apidoc-core/src/main/java/com/kim/apidoc/core/schema/Row.java +++ b/apidoc-core/src/main/java/com/kim/apidoc/core/schema/Row.java @@ -23,16 +23,20 @@ public class Row { * The Type. */ String type; + /** + * 是否必填. + */ + Boolean required; /** * The Condition. */ String condition; /** - * The Def. + * 默认值. */ String def; /** - * The Remark. + * 说明. */ String remark; diff --git a/apidoc-core/src/main/resources/templates/markdown.ftl b/apidoc-core/src/main/resources/templates/markdown.ftl index 421b1b8..f1571b4 100644 --- a/apidoc-core/src/main/resources/templates/markdown.ftl +++ b/apidoc-core/src/main/resources/templates/markdown.ftl @@ -12,24 +12,25 @@ # ${bookValue.name} <#-- ---------- BEGIN 循环遍历chapter ----------> - <#list bookValue.chapters> - <#items as chapter> - - + <#assign chapterIndex=0> + <#list bookValue.chapters as chapter> + <#if !chapter.isIgnore()> +<#assign chapterIndex++> <#-- 章节名称--> -## ${chapter?counter}. ${chapter.name} +## ${chapterIndex}. ${chapter.name} <#-- 章节描述--> <#if chapter.description??> ${chapter.description} <#-- ---------- BEGIN 循环遍历section ----------> - <#list chapter.sections> - <#items as section> - + <#assign sectionIndex=0> + <#list chapter.sections as section> + <#if !section.isIgnore()> +<#assign sectionIndex++/> <#-- 接口名称--> -### ${chapter?counter}.${section?counter} ${section.name} +### ${chapterIndex}.${sectionIndex} ${section.name} <#-- 接口描述--> <#if section.description??> @@ -56,10 +57,10 @@ ${section.getParameterString()} <#if section.requestRows?? && (section.requestRows?size>0)> **Query** -| Field | Type | Condition | Default | Description | -| :------- | :----- | :-------- | :------ | :---------- | +| Field | Type | Required | Condition | Default | Description | +| :------- | :----- | :-------- |:-------- | :------ | :---------- | <#list section.requestRows as rowKey,rowValue> -| ${rowValue.key!''} | ${rowValue.type!''} | ${rowValue.condition!''} | ${rowValue.def!''} | ${rowValue.remark!''} | +| ${rowValue.key!''} | ${rowValue.type!''} | ${rowValue.required?string('true','false')} | ${rowValue.condition!''} | ${rowValue.def!''} | ${rowValue.remark!''} | <#-- 响应--> @@ -78,10 +79,10 @@ ${section.getResponseString()} | ${rowValue.key!''} | ${rowValue.type!''} | ${rowValue.remark!''} | - + <#------------ END 循环遍历section ----------> - + <#------------ END 循环遍历chapter ----------> diff --git a/apidoc-springmvc/src/main/java/com/kim/apidoc/springmvc/SpringParser.java b/apidoc-springmvc/src/main/java/com/kim/apidoc/springmvc/SpringParser.java index 58a7e1a..0f4fc8e 100644 --- a/apidoc-springmvc/src/main/java/com/kim/apidoc/springmvc/SpringParser.java +++ b/apidoc-springmvc/src/main/java/com/kim/apidoc/springmvc/SpringParser.java @@ -159,6 +159,8 @@ public class SpringParser implements ParserStrategy { Row row = new Row(); row.setKey(parameter.getNameAsString()); row.setType(parameter.getType().toString()); + // 路径参数必填 + row.setRequired(true); section.getParamTag(row.getKey()).ifPresent(tag -> row.setRemark(tag.getContent())); section.addRequestRow(row); } diff --git a/apidoc-springmvc/src/test/java/com/kim/apidoc/example/common/User.java b/apidoc-springmvc/src/test/java/com/kim/apidoc/example/common/User.java index 97b50a3..115ce7a 100644 --- a/apidoc-springmvc/src/test/java/com/kim/apidoc/example/common/User.java +++ b/apidoc-springmvc/src/test/java/com/kim/apidoc/example/common/User.java @@ -10,17 +10,35 @@ import javax.validation.constraints.NotNull; import java.util.Date; import java.util.List; +/** + * The type User. + */ @Setter @Getter public class User { + /** + * 用户编号. + */ int id; + /** + * 用户名称. + */ @NotBlank String name; + /** + * 用户年龄. + */ @Min(1) @NotNull Integer age; + /** + * 创建时间. + */ Date createAt; + /** + * 性别. + */ @NotBlank @JsonProperty("Sex") String sex; diff --git a/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/AuthController.java b/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/AuthController.java index 4c7e733..8926ca5 100644 --- a/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/AuthController.java +++ b/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/AuthController.java @@ -6,6 +6,7 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; /** + * @ignore * @index 3 */ @Controller diff --git a/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/EmptyController.java b/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/EmptyController.java index d99b49d..be7f38f 100644 --- a/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/EmptyController.java +++ b/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/EmptyController.java @@ -4,6 +4,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** + * @ignore * will be ignore */ @RestController diff --git a/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/PageController.java b/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/PageController.java index e77340c..22e593a 100644 --- a/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/PageController.java +++ b/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/PageController.java @@ -14,6 +14,7 @@ import java.util.List; import java.util.Map; /** + * @ignore * @index 4 */ @Controller diff --git a/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/UserController.java b/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/UserController.java index b8746a2..c86d7d8 100644 --- a/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/UserController.java +++ b/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/advanced/UserController.java @@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; /** + * @ignore * 用户模块(标题) * 用户示例模块文字描述(详情) * 支持多行文字 diff --git a/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/hello/GreetingController.java b/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/hello/GreetingController.java index 9a74535..6769413 100644 --- a/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/hello/GreetingController.java +++ b/apidoc-springmvc/src/test/java/com/kim/apidoc/example/spring/hello/GreetingController.java @@ -8,7 +8,7 @@ import java.util.concurrent.atomic.AtomicLong; /** * 欢迎使用Apiggs - * + * @ignore * @author fengyuchenglun * @version 1.0.0 * @index 1 -- GitLab