[DOC] add apidoc (#903)

* [DOC] add apidoc

* fix blank
diff --git a/docs/user-guide/admin-usage/api-document.md b/docs/user-guide/admin-usage/api-document.md
new file mode 100644
index 0000000..b5bcf81
--- /dev/null
+++ b/docs/user-guide/admin-usage/api-document.md
@@ -0,0 +1,57 @@
+---
+title: API Document Management
+keywords: ["api doc"]
+description: API document management
+---
+
+## Design Notes
+
+When the front and back end are jointly debugged, it is usually necessary for the back end to give documents to detail the input and output of the interface; 
+
+After the backend development is complete, you need to test whether the access gateway is successful. 
+
+In order to reduce the sense of fragmentation and improve the user experience of front-end and back-end development, it is necessary to see the API documentation in shenyu-admin and test the API directly.
+
+## How to use
+
+The brief introduce is as follows.
+- Back-end development produces API documents in shenyu-admin (both `manual` and `client registration` are supported, and `client registration` is currently recommended).
+- The frontend looks at the API documentation in shenyu-admin and starts development.
+> During joint debugging, developers (including front-end and backend) may use the testing function in shenyu-admin to request APIs directly.
+
+Now, let's look how to operation step by step:
+
+### Add API Document Manually
+
+Clicking the menu "Document -> API Document" to create tag and api.
+
+> For the API registration documentation through the client, please refer to [Client Registration API Documentation](../api-document-register.md)
+
+#### Add tag
+
+Tags are used to classify API documents, and you can hang both APIs and tags under the tags, and there is no hierarchical limit.
+<img src="/img/shenyu/basicConfig/apiManagement/create-tag-1-en.png" width="80%" height="50%" />
+
+<img src="/img/shenyu/basicConfig/apiManagement/create-tag-2-en.png" width="80%" height="50%" />
+
+#### Add API Document
+
+<img src="/img/shenyu/basicConfig/apiManagement/create-api-en.png" width="80%" height="50%" />
+
+The list here is the API documentation we're adding.
+
+#### Publish API
+
+If the API has never been published and the user has not used the shenyu-client, shenyu-admin will automatically expose the API described in the API document to the gateway.
+
+<img src="/img/shenyu/basicConfig/apiManagement/publish-api-en.png" width="80%" height="50%" />
+
+#### Offline API(optional)
+
+> Notice: After clicking offline, the API document will still be visible, but the interface exposed to the gateway will immediately become invalid.
+
+<img src="/img/shenyu/basicConfig/apiManagement/offline-api-en.png" width="80%" height="50%" />
+
+### API Debug
+
+<img src="/img/shenyu/basicConfig/apiManagement/api-debug-en.png" width="80%" height="50%" />
diff --git a/docs/user-guide/api-document-register.md b/docs/user-guide/api-document-register.md
new file mode 100644
index 0000000..5343291
--- /dev/null
+++ b/docs/user-guide/api-document-register.md
@@ -0,0 +1,38 @@
+---
+title: The client registers the API documentation
+keywords: ["api doc register"]
+description: The client registers the API documentation
+---
+
+This article describes how to expose the `API documentation` to the `Apache ShenYu` gateway.
+
+Before accessing, please start `shenyu-admin` correctly.
+
+## Export API Documentation to shenyu-admin
+
+You can refer to any of the example codes below [shenyu-examples](https://github.com/apache/shenyu/tree/master/shenyu-examples).
+
+The only thing you need to do is to add `@ApiModule` and `@ApiDoc` annotations to your service, here is an example from `shenyu-examples-http`:
+
+```java
+@RestController
+@RequestMapping("/order")
+@ShenyuSpringMvcClient("/order")
+@ApiModule(value = "order")
+public class OrderController {
+
+    @GetMapping("/findById")
+    @ShenyuSpringMvcClient("/findById")
+    @ApiDoc(desc = "findById")
+    public OrderDTO findById(@RequestParam("id") final String id) {
+        return build(id, "hello world findById");
+    }
+
+    private OrderDTO build(final String id, final String name) {
+        OrderDTO orderDTO = new OrderDTO();
+        orderDTO.setId(id);
+        orderDTO.setName(name);
+        return orderDTO;
+    }
+}
+```
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/admin-usage/api-document.md b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/admin-usage/api-document.md
new file mode 100644
index 0000000..df5ec51
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/admin-usage/api-document.md
@@ -0,0 +1,56 @@
+---
+title: API文档管理
+keywords: ["api doc 接口 文档"]
+description: API文档管理
+---
+
+## 背景与说明
+
+前后端联调时,通常需要后端给出文档以详细说明接口的输入输出;
+
+后端开发完成后,需要测试接入网关是否成功。
+
+为了减少割裂感、提升前后端开发的用户体验,需要在shenyu-admin中看到API文档,以及直接对API进行测试。
+
+## 操作流程
+
+大体的流程如下:
+- 后端开发在shenyu-admin中产出API文档(同时支持`手动填写`和`客户端注册`2种方式,目前更推荐`客户端注册`)。
+- 前端在shenyu-admin中查看API文档并开始开发。
+> 联调期间开发人员(包括前后端)可能使用shenyu-admin中的测试功能直接请求API。
+
+接下来我们看下具体操作:
+
+### 手动填写API文档
+
+在点击菜单 "文档 -> API文档" 展示的页面中新增数据。
+
+> 通过客户端注册API文档请参考[客户端注册API文档](../api-document-register.md)
+
+#### 增加标签
+
+标签用于给API文档分类,标签下面既可以挂API,也可以挂标签,没有层级限制。
+<img src="/img/shenyu/basicConfig/apiManagement/create-tag-1-cn.png" width="80%" height="50%" />
+
+<img src="/img/shenyu/basicConfig/apiManagement/create-tag-2-cn.png" width="80%" height="50%" />
+
+#### 增加API文档
+
+<img src="/img/shenyu/basicConfig/apiManagement/create-api-cn.png" width="80%" height="50%" />
+
+这里出现列表的就是我们正在新增的API文档。
+
+#### 发布API
+
+如果该API是从未发布到发布且用户并未接入shenyu客户端,shenyu-admin将会自动把API文档所描述的API暴露到网关。
+<img src="/img/shenyu/basicConfig/apiManagement/publish-api-cn.png" width="80%" height="50%" />
+
+#### 下线API(可选)
+
+> 特别注意:点击下线后,API文档仍然可见,但暴露到网关的接口将会立即失效。
+
+<img src="/img/shenyu/basicConfig/apiManagement/offline-api-cn.png" width="80%" height="50%" />
+
+### 请求API
+
+<img src="/img/shenyu/basicConfig/apiManagement/api-debug-cn.png" width="80%" height="50%" />
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/api-document-register.md b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/api-document-register.md
new file mode 100644
index 0000000..d2d1c0f
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/api-document-register.md
@@ -0,0 +1,38 @@
+---
+title: 客户端注册API文档
+keywords: ["api doc 接口 文档 register 注册"]
+description: 客户端注册API文档
+---
+
+此篇文介绍如何将 `API文档` 暴露到 `Apache ShenYu` 网关。
+
+接入前,请正确启动 `shenyu-admin`。
+
+## API文档暴露到网关
+
+可以参考[shenyu-examples](https://github.com/apache/shenyu/tree/master/shenyu-examples)下面任意一个example的代码。
+
+唯一需要做的就是在你的服务中的新增`@ApiModule`和`@ApiDoc`注解,以下是`shenyu-examples-http`中的例子:
+
+```java
+@RestController
+@RequestMapping("/order")
+@ShenyuSpringMvcClient("/order")
+@ApiModule(value = "order")
+public class OrderController {
+
+    @GetMapping("/findById")
+    @ShenyuSpringMvcClient("/findById")
+    @ApiDoc(desc = "findById")
+    public OrderDTO findById(@RequestParam("id") final String id) {
+        return build(id, "hello world findById");
+    }
+
+    private OrderDTO build(final String id, final String name) {
+        OrderDTO orderDTO = new OrderDTO();
+        orderDTO.setId(id);
+        orderDTO.setName(name);
+        return orderDTO;
+    }
+}
+```
diff --git a/static/img/shenyu/basicConfig/apiManagement/api-debug-cn.png b/static/img/shenyu/basicConfig/apiManagement/api-debug-cn.png
new file mode 100644
index 0000000..d03ba19
--- /dev/null
+++ b/static/img/shenyu/basicConfig/apiManagement/api-debug-cn.png
Binary files differ
diff --git a/static/img/shenyu/basicConfig/apiManagement/api-debug-en.png b/static/img/shenyu/basicConfig/apiManagement/api-debug-en.png
new file mode 100644
index 0000000..9ca7984
--- /dev/null
+++ b/static/img/shenyu/basicConfig/apiManagement/api-debug-en.png
Binary files differ
diff --git a/static/img/shenyu/basicConfig/apiManagement/create-api-cn.png b/static/img/shenyu/basicConfig/apiManagement/create-api-cn.png
new file mode 100644
index 0000000..1302769
--- /dev/null
+++ b/static/img/shenyu/basicConfig/apiManagement/create-api-cn.png
Binary files differ
diff --git a/static/img/shenyu/basicConfig/apiManagement/create-api-en.png b/static/img/shenyu/basicConfig/apiManagement/create-api-en.png
new file mode 100644
index 0000000..b6608b0
--- /dev/null
+++ b/static/img/shenyu/basicConfig/apiManagement/create-api-en.png
Binary files differ
diff --git a/static/img/shenyu/basicConfig/apiManagement/create-tag-1-cn.png b/static/img/shenyu/basicConfig/apiManagement/create-tag-1-cn.png
new file mode 100644
index 0000000..07dd1c8
--- /dev/null
+++ b/static/img/shenyu/basicConfig/apiManagement/create-tag-1-cn.png
Binary files differ
diff --git a/static/img/shenyu/basicConfig/apiManagement/create-tag-1-en.png b/static/img/shenyu/basicConfig/apiManagement/create-tag-1-en.png
new file mode 100644
index 0000000..70d9b48
--- /dev/null
+++ b/static/img/shenyu/basicConfig/apiManagement/create-tag-1-en.png
Binary files differ
diff --git a/static/img/shenyu/basicConfig/apiManagement/create-tag-2-cn.png b/static/img/shenyu/basicConfig/apiManagement/create-tag-2-cn.png
new file mode 100644
index 0000000..137e573
--- /dev/null
+++ b/static/img/shenyu/basicConfig/apiManagement/create-tag-2-cn.png
Binary files differ
diff --git a/static/img/shenyu/basicConfig/apiManagement/create-tag-2-en.png b/static/img/shenyu/basicConfig/apiManagement/create-tag-2-en.png
new file mode 100644
index 0000000..294bcc9
--- /dev/null
+++ b/static/img/shenyu/basicConfig/apiManagement/create-tag-2-en.png
Binary files differ
diff --git a/static/img/shenyu/basicConfig/apiManagement/offline-api-cn.png b/static/img/shenyu/basicConfig/apiManagement/offline-api-cn.png
new file mode 100644
index 0000000..010a303
--- /dev/null
+++ b/static/img/shenyu/basicConfig/apiManagement/offline-api-cn.png
Binary files differ
diff --git a/static/img/shenyu/basicConfig/apiManagement/offline-api-en.png b/static/img/shenyu/basicConfig/apiManagement/offline-api-en.png
new file mode 100644
index 0000000..b9d0207
--- /dev/null
+++ b/static/img/shenyu/basicConfig/apiManagement/offline-api-en.png
Binary files differ
diff --git a/static/img/shenyu/basicConfig/apiManagement/publish-api-cn.png b/static/img/shenyu/basicConfig/apiManagement/publish-api-cn.png
new file mode 100644
index 0000000..d25de46
--- /dev/null
+++ b/static/img/shenyu/basicConfig/apiManagement/publish-api-cn.png
Binary files differ
diff --git a/static/img/shenyu/basicConfig/apiManagement/publish-api-en.png b/static/img/shenyu/basicConfig/apiManagement/publish-api-en.png
new file mode 100644
index 0000000..7d85e60
--- /dev/null
+++ b/static/img/shenyu/basicConfig/apiManagement/publish-api-en.png
Binary files differ