You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by ca...@apache.org on 2022/07/22 01:48:57 UTC

[incubator-linkis-website] branch dev updated: Swwager annotation uses documents (#430)

This is an automated email from the ASF dual-hosted git repository.

casion pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-linkis-website.git


The following commit(s) were added to refs/heads/dev by this push:
     new 661eb9ccc4 Swwager annotation uses documents (#430)
661eb9ccc4 is described below

commit 661eb9ccc4bf53f70de2ae4f4d2ef3894c494c15
Author: 成彬彬 <10...@users.noreply.github.com>
AuthorDate: Fri Jul 22 09:48:53 2022 +0800

    Swwager annotation uses documents (#430)
    
    * Swwager annotation uses documents, as well as the conceptual frame composition and technical architecture diagram of wikis
---
 docs/development/swwager_instructions.md           | 261 +++++++++++++++++++++
 .../current/deployment/quick_deploy.md             |   4 +-
 .../current/development/swwager_instructions.md    | 261 +++++++++++++++++++++
 .../version-1.1.1/deployment/quick_deploy.md       |   2 +-
 .../version-1.1.2/deployment/quick_deploy.md       |   2 +-
 resource/Conceptual-Architecture-Diagram.vsdx      | Bin 0 -> 11378568 bytes
 resource/Technical-Architecture-Diagram.vsdx       | Bin 0 -> 2235571 bytes
 src/pages/versions/config.json                     |   2 +-
 8 files changed, 527 insertions(+), 5 deletions(-)

diff --git a/docs/development/swwager_instructions.md b/docs/development/swwager_instructions.md
new file mode 100644
index 0000000000..8b6710b953
--- /dev/null
+++ b/docs/development/swwager_instructions.md
@@ -0,0 +1,261 @@
+---
+title: Swwager Annotation Instructions
+sidebar_position: 5
+---
+
+## 1. Scope of swwager annotations
+| API| Scope | Where to use |
+| -------- | -------- | ----- |
+|@Api|Protocol set description|Used on the controller class|
+|@ApiOperation|Protocol description|Used in controller methods|
+|@ApiImplicitParams|Non-object parameter set|Used in controller methods|
+|@ApiImplicitParam|Non-object parameter description|Used in methods of @ApiImplicitParams|
+|@ApiResponses|Response set|Used in the controller's method|
+|@ApiResponse|Response|Used in @ApiResponses|
+|@ApiModel|Describe the meaning of the returned object|Used in the returned object class|
+|@ApiModelProperty|Object property|Used on the fields of the parameter object|
+|@ApiParam|Protocol description|Used on methods, parameters, fields of classes|
+
+## 2. @Api
+Use the location to use on the class to describe the request class. Identifies a Controller class is the Swagger document class.
+
+### 2.1 Attributes of annotations
+
+| Property Name | Property Type | Property Default Value | Property Description |
+| -------- | -------- | ----- |----- |
+|value|String|""|Description, meaningless. |
+|tags|String[]|""|Grouping|
+|basePath|String|""|Base Path|
+|protocols|String|int|Request Protocol|
+|authorizations|Authorization[]|@Authorization(value = "")|Configuration for advanced feature authentication|
+|hidden|boolean|false|Is it hidden (not displayed, the default is false)|
+
+
+### 2.2 The difference between attribute value and tags
+
+The value attribute is used to describe both the role of the class and the role of the method;
+
+The tags attribute is used for grouping both on classes and methods, but the effect of grouping is very different:
+
+When tags act on a class, the global methods are grouped, that is, multiple copies are made according to the tags attribute value. At this time, the tags value on the method is invalid, and the effect of matching or not matching the tags on the method is the same.
+
+When tags act on a method, they will be grouped according to the tags values ​​of all methods of the current class, with a finer granularity.
+
+### 2.3 How to use
+<font color="red">Note: The difference between java and scala in @Api annotation </font>
+
+````java
+*java
+@Api(tags = "Swagger test related interface")
+@RestController
+
+*scala
+@Api(tags = Array("Swagger test related interface"))
+@RestController
+````
+
+
+## 3. @ApiOperation
+Used in methods, to describe the request method.
+### 3.1 Attributes of annotations
+
+| Property Name | Property Type | Property Default Value | Property Description |
+| -------- | -------- | ----- |----- |
+|value|String|""|Description|
+|notes|String|""| Detailed description|
+|tags|String[]|""|Grouping|
+|response|Class<?>|Void.class|Response parameter type|
+|responseReference|String[]|""|Specifies a reference to the response type, local/remote reference, and will override any other specified response() class|
+|httpMethod|String|""|http request method, such as: GET, HEAD, POST, PUT, DELETE, OPTION, SPATCH|
+|hidden|boolean|false|whether hidden (not displayed) defaults to false|
+|code|int|200|http status code|
+|extensions|Extension[]|@Extension(properties = @ExtensionProperty(name = "", value = "")|Extension Properties|
+
+### 3.2 How to use
+
+````java
+@GetMapping("test1")
+@ApiOperation(value = "test1 interface", notes = "test1 interface detailed description")
+public ApiResult<String> test1(@RequestParam String aa, @RequestParam String bb, @RequestParam String cc) {
+        return ApiUtil.success("success");
+}
+````
+
+## 4. @ApiImplicitParams
+
+Commonly used in methods to describe the request parameter list.
+The value attribute can contain multiple @ApiImplicitParam, and describe each participant in detail.
+
+### 4.1 Attributes of annotations
+| Property Name | Property Type | Property Default Value | Property Description |
+| -------- | -------- | ----- |----- |
+|value|String|""|Description|
+
+## 5. @ApiImplicitParams
+
+Used in methods to describe request parameters. When multiple parameters need to be described, it is used as a property of @ApiImplicitParams.
+
+### 5.1 Attributes of annotations
+| Property Name | Property Type | Property Default Value | Property Description |
+| -------- | -------- | ----- |----- |
+|value|String|""|Description|
+|name|String|""|Parameter Description|
+|defaultValue|String|""|default value|
+|allowableValues|String|""|Parameter allowable values|
+|required|boolean|false|Required, default false|
+|access|String|""|Parameter Filter|
+|allowMultiple|boolean|false|Whether the parameter can accept multiple values ​​by appearing multiple times, the default is not allowed|
+|dataType|String|""|The data type of the parameter, which can be a class name or a primitive data type|
+|dataTypeClass|Class<?>|Void.class| The data type of the parameter, overriding dataType| if provided
+|paramType|String|""|Parameter type, valid values ​​are path, query, body, header, form|
+|example|String|""|Parameter example of non-body type|
+|examples|Example|@Example(value = @ExampleProperty(mediaType = "", value = ""))|Parameter example of body type|
+|type|String|""|Add functionality to override detected types|
+|format|String|""|Add the function to provide custom format format|
+|readOnly|boolean|false|Adds features designated as read-only|
+
+### 5.2 How to use
+
+````java
+@GetMapping("test1")
+@ApiOperation(value = "test1 interface", notes = "test1 interface detailed description")
+@ApiImplicitParams(value = {
+        @ApiImplicitParam(name = "aa",value = "aa description",defaultValue = "1",allowableValues ​​= "1,2,3",required = true),
+        @ApiImplicitParam(name = "bb",value = "bb description",defaultValue = "1",allowableValues ​​= "1,2,3",required = true),
+        @ApiImplicitParam(name = "cc",value = "Description of cc",defaultValue = "2",allowableValues ​​= "1,2,3",required = true),
+
+})
+````
+
+## 6. @ApiParam
+
+Used in fields of methods, parameters, and classes to describe request parameters.
+
+### 6.1 Attributes of annotations
+| Property Name | Property Type | Property Default Value | Property Description |
+| -------- | -------- | ----- |----- |
+|value|String|""|Description|
+|name|String|""|Parameter Description|
+|defaultValue|String|""|default value|
+|allowableValues|String|""|Parameter allowable values|
+|required|boolean|false|Required, default false|
+|access|String|""|Parameter Filter|
+|allowMultiple|boolean|false|Whether the parameter can accept multiple values ​​by appearing multiple times, the default is not allowed|
+|dataType|String|""|The data type of the parameter, which can be a class name or a primitive data type|
+|dataTypeClass|Class<?>|Void.class| The data type of the parameter, overriding dataType| if provided
+|paramType|String|""|Parameter type, valid values ​​are path, query, body, header, form|
+|example|String|""|Parameter example of non-body type|
+|examples|Example|@Example(value = @ExampleProperty(mediaType = "", value = ""))|Parameter example of body type|
+|type|String|""|Add functionality to override detected types|
+|format|String|""|Add the function to provide custom format format|
+|readOnly|boolean|false|Adds features designated as read-only|
+
+### 6.2 How to use
+
+````java
+@GetMapping("test2")
+@ApiOperation(value = "test2 interface", notes = "test2 interface detailed description")
+public ApiResult<TestRes> test2(@ApiParam(value = "aa description") @RequestParam String aa, @ApiParam(value = "bb description") @RequestParam String bb) {
+        return ApiUtil.success(new TestRes());
+}
+````
+
+## 7. @ApiModel
+
+Used in classes to describe requests, response classes, and entity classes.
+
+### 7.1 Attributes of annotations
+| Property Name | Property Type | Property Default Value | Property Description |
+| -------- | -------- | ----- |----- |
+|value|String|""| is an alternative name to provide the model, by default, the class name is used|
+|description|String|""|Class description|
+|parent|Class<?> parent|Void.class|Provides a parent class for the model to allow describing inheritance relationships|
+|discriminatory|String|""|Supports model inheritance and polymorphism, using the name of the discriminator's field, you can assert which subtype to use|
+|subTypes|boolean|false|Required, default false|
+|access|Class<?> parent|Void.class| Array of subtypes inherited from this model|
+|reference|boolean|false|Specifies a reference to the corresponding type definition, overriding any other metadata specified|
+
+##8 @ApiModelProperty
+
+Used in classes to describe requests, response classes, and entity classes.
+
+### 8.1 Attributes of annotations
+| Property Name | Property Type | Property Default Value | Property Description |
+| -------- | -------- | ----- |----- |
+|value|String|""|Attribute Description|
+|name|String|""|Override property name|
+|allowableValues|String|""|Parameter allowable values|
+|access|String|""|Filter Attribute|
+|required|boolean|false|Required, default false|
+|dataType|String|""|The data type of the parameter, which can be a class name or a primitive data type|
+|hidden|boolean|false| Hidden|
+|readOnly|String|""|Add functionality designated as read-only|
+|reference|String|""|Specifies a reference to the corresponding type definition, overriding any other metadata specified|
+|allowEmptyValue|boolean|false|Allow empty values|
+|example|String|""|Example value for attribute|
+
+### 8.2 How to use
+
+<font color="red">Note: The difference between java and scala in the use of @ApiModelProperty annotation </font>
+
+````java
+*java entity class
+@Data
+@ApiModel(description = "Test request class")
+public class TestReq {
+
+    @ApiModelProperty(value = "User ID",required = true)
+    private Long userId;
+    @ApiModelProperty(value = "Username", example = "Zhang San")
+}
+
+*scala entity class
+@Data
+@ApiModel(description = "Test response class")
+public class TestRes {
+    @(ApiModelProperty @field)("User ID")
+    private Long userId;
+    @(ApiModelProperty @field)("Username")
+}
+````
+
+
+## 9. @ApiResponses
+
+Used on methods and classes to describe the response status code list.
+
+### 9.1 Attributes of annotations
+| Property Name | Property Type | Property Default Value | Property Description |
+| -------- | -------- | ----- |----- |
+|value|ApiResponse[]|""|Description of response status code list|
+
+## 10. @ApiResponse
+
+Used in the method to describe the response status code. Generally used as a property of @ApiResponses.
+
+### 10.1 Attributes of annotations
+| Property Name | Property Type | Property Default Value | Property Description |
+| -------- | -------- | ----- |----- |
+|code|int|""|Response HTTP Status Code|
+|message|String|""|Description of the response|
+|response|Class<?>|Void.class|An optional response class used to describe the message payload, corresponding to the schema field of the response message object|
+|reference|String|""|Specifies a reference to the response type, the specified application can make a local reference, or a remote reference, will be used as is, and will override any specified response() class|
+|responseHeaders|ResponseHeader[]|@ResponseHeader(name = "", response = Void.class)|List of possible response headers|
+|responseContainer|String|""|Declare the container of the response, valid values ​​are List, Set, Map, any other value will be ignored|
+
+
+### 10.2 How to use
+
+````java
+@GetMapping("test2")
+@ApiOperation(value = "test2 interface", notes = "test2 interface detailed description")
+@ApiResponses(value = {
+        @ApiResponse(code = 200, message = "Request successful", responseHeaders = {@ResponseHeader(name = "header1", description = "description of header1",response = String.class)}),
+        @ApiResponse(code = 401, message = "No permission"),
+        @ApiResponse(code = 403, message = "Access forbidden")
+})
+public ApiResult<TestRes> test2(@ApiParam(value = "aa description") @RequestParam String aa, @ApiParam(value = "bb description") @RequestParam String bb) {
+        return ApiUtil.success(new TestRes());
+}
+
+````
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/quick_deploy.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/quick_deploy.md
index 023ea66869..d46077bd12 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/quick_deploy.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/quick_deploy.md
@@ -214,7 +214,7 @@ export ENABLE_SPARK=false
 
 install.sh脚本会询问您是否需要初始化数据库并导入元数据。如果选择初始化,会把数据库中的表数据清空重新初始化。
 
-<font size="6" color="red">第一次安装</font><font color="red">必须选清空数据库</font>
+**<font color="red">第一次安装必须选清空数据库</font>**
 
 :::tip 注意
 - 如果出现报错,又不清楚具体是执行什么命令报错,可以加 -x 参数`sh -x bin/install.sh`,将shell脚本执行过程日志打印出来,方便定位问题
@@ -227,7 +227,7 @@ install.sh脚本会询问您是否需要初始化数据库并导入元数据。
 Your default account password is [hadoop/5e8e312b4]`
 ```
 
-### 3.2 添加mysql驱动包
+### <font color="red">3.2 添加mysql驱动包</font>
 
 :::caution 注意
 因为mysql-connector-java驱动是GPL2.0协议,不满足Apache开源协议关于license的政策,因此从1.0.3版本开始,提供的Apache版本官方部署包,默认是没有mysql-connector-java-x.x.x.jar的依赖包(**若是通过集成的全家桶物料包安装,则无需手动添加**),安装部署时需要自行添加依赖到对应的lib包中。 可以在对应的目录下查看是否存在,如果不存在则需要添加
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/swwager_instructions.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/swwager_instructions.md
new file mode 100644
index 0000000000..8c7c7a50fa
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/swwager_instructions.md
@@ -0,0 +1,261 @@
+---
+title: Swwager 注解使用说明
+sidebar_position: 5
+---
+
+## 1. swwager注解的作用域
+|  API| 作用范围 | 使用位置 | 
+| -------- | -------- | ----- |
+|@Api|协议集描述|用于controller类上|
+|@ApiOperation|协议描述|用在controller的方法上|
+|@ApiImplicitParams|非对象参数集|用在controller的方法上|
+|@ApiImplicitParam|非对象参数描述|用在@ApiImplicitParams的方法里边|
+|@ApiResponses|Response集|用在controller的方法上|
+|@ApiResponse|Response|用在 @ApiResponses里边|
+|@ApiModel|描述返回对象的意义|	用在返回对象类上|
+|@ApiModelProperty|对象属性|用在出入参数对象的字段上|
+|@ApiParam|协议描述|用在方法、参数、类的字段上|
+
+## 2. @Api
+使用位置即用在类上,对请求类进行描述。标识一个Controller类是Swagger文档类。
+
+### 2.1 注解的属性
+
+| 属性名称 | 属性类型 | 属性默认值 | 属性描述 |
+| -------- | -------- | ----- |----- | 
+|value|String|""|描述,无实际意义。| 
+|tags|String[]|""|分组|
+|basePath|String|""|基本路径|
+|protocols|String|int|请求协议|
+|authorizations|Authorization[]|@Authorization(value = "")|高级特性认证时的配置|
+|hidden|boolean|false|是否隐藏(不显示,默认为false)|
+
+
+### 2.2 属性value、tags二者的区别
+
+value属性作用在类和作用在方法上都用于描述;
+
+tags属性作用在类和作用在方法上都用于分组,但分组的效果区别很大:
+
+tags作用在类上时,会对全局的方法分组,即根据tags属性值复制多份,此时方法上的tags值无效,方法上tags配或不配效果都一样。
+
+tags作用在方法上时,会根据当前类的所有方法的tags值做分组,粒度更细。
+
+### 2.3 使用方法
+<font color="red">注意:java和scala在@Api注解上使用的区别 </font>
+
+```java
+*java
+@Api(tags = "Swagger测试相关接口")
+@RestController
+
+*scala
+@Api(tags = Array("Swagger测试相关接口"))
+@RestController
+```
+
+
+
+## 3. @ApiOperation
+用在方法上,对请求方法进行描述。
+### 3.1 注解的属性
+
+| 属性名称 | 属性类型 | 属性默认值 | 属性描述 |
+| -------- | -------- | ----- |----- | 
+|value|String|""|描述|
+|notes|String|""|	详细描述|
+|tags|String[]|""|分组|
+|response|Class<?>|Void.class|响应参数类型|
+|responseReference|String[]|""|指定对响应类型的引用,本地/远程引用,并将覆盖任何其它指定的response()类|
+|httpMethod|String|""|http请求方式,如:GET、HEAD、POST、PUT、DELETE、OPTION、SPATCH|
+|hidden|boolean|false|是否隐藏(不显示)默认为false|
+|code|int|200|http的状态码|
+|extensions|Extension[]|@Extension(properties = @ExtensionProperty(name = "", value = "")|扩展属性|
+
+### 3.2 使用方法
+
+```java
+@GetMapping("test1")
+@ApiOperation(value = "test1接口",notes = "test1接口详细描述")
+public ApiResult<String> test1(@RequestParam String aa, @RequestParam String bb, @RequestParam String cc) {
+        return ApiUtil.success("success");
+}
+```
+
+## 4. @ApiImplicitParams
+
+常用在方法上,对请求参数列表进行描述。
+其中的value属性可包含多个@ApiImplicitParam,对每个参加进行具体的描述。
+
+### 4.1 注解的属性
+| 属性名称 | 属性类型 | 属性默认值 | 属性描述 |
+| -------- | -------- | ----- |----- | 
+|value|String|""|描述|
+
+## 5. @ApiImplicitParams
+
+用在方法上,对请求参数进行描述。当需要对多个参数进行描述时,作为@ApiImplicitParams的属性使用。
+
+### 5.1 注解的属性
+| 属性名称 | 属性类型 | 属性默认值 | 属性描述 |
+| -------- | -------- | ----- |----- | 
+|value|String|""|描述|
+|name|String|""|参数说明|
+|defaultValue|String|""|默认值|
+|allowableValues|String|""|参数允许值|
+|required|boolean|false|是否必填,默认false|
+|access|String|""|参数过滤|
+|allowMultiple|boolean|false|参数是否可以通过多次出现来接受多个值,默认不允许|
+|dataType|String|""|参数的数据类型,可以使类名或原始数据类型|
+|dataTypeClass|Class<?>|Void.class|参数的数据类型,如果提供则覆盖 dataType|
+|paramType|String|""|参数类型,有效值为 path, query, body, header, form|
+|example|String|""|非body类型的参数示例|
+|examples|Example|@Example(value = @ExampleProperty(mediaType = “”, value = “”))|body类型的参数示例|
+|type|String|""|添加覆盖检测到的类型的功能|
+|format|String|""|添加提供自定义format格式的功能|
+|readOnly|boolean|false|添加被指定为只读的功能|
+
+### 5.2 使用方法
+
+```java
+@GetMapping("test1")
+@ApiOperation(value = "test1接口",notes = "test1接口详细描述")
+@ApiImplicitParams(value = {
+        @ApiImplicitParam(name = "aa",value = "aa的说明",defaultValue = "1",allowableValues = "1,2,3",required = true),
+        @ApiImplicitParam(name = "bb",value = "bb的说明",defaultValue = "1",allowableValues = "1,2,3",required = true),
+        @ApiImplicitParam(name = "cc",value = "cc的说明",defaultValue = "2",allowableValues = "1,2,3",required = true),
+
+})
+```
+
+## 6. @ApiParam
+
+用在方法、参数、类的字段上,对请求参数进行描述。
+
+### 6.1 注解的属性
+| 属性名称 | 属性类型 | 属性默认值 | 属性描述 |
+| -------- | -------- | ----- |----- | 
+|value|String|""|描述|
+|name|String|""|参数说明|
+|defaultValue|String|""|默认值|
+|allowableValues|String|""|参数允许值|
+|required|boolean|false|是否必填,默认false|
+|access|String|""|参数过滤|
+|allowMultiple|boolean|false|参数是否可以通过多次出现来接受多个值,默认不允许|
+|dataType|String|""|参数的数据类型,可以使类名或原始数据类型|
+|dataTypeClass|Class<?>|Void.class|参数的数据类型,如果提供则覆盖 dataType|
+|paramType|String|""|参数类型,有效值为 path, query, body, header, form|
+|example|String|""|非body类型的参数示例|
+|examples|Example|@Example(value = @ExampleProperty(mediaType = “”, value = “”))|body类型的参数示例|
+|type|String|""|添加覆盖检测到的类型的功能|
+|format|String|""|添加提供自定义format格式的功能|
+|readOnly|boolean|false|添加被指定为只读的功能|
+
+### 6.2 使用方法
+
+```java
+@GetMapping("test2")
+@ApiOperation(value = "test2接口",notes = "test2接口详细描述")
+public ApiResult<TestRes> test2(@ApiParam(value = "aa的说明") @RequestParam String aa, @ApiParam(value = "bb的说明") @RequestParam String bb) {
+        return ApiUtil.success(new TestRes());
+}
+```
+## 7. @ApiModel
+
+用在类上,对请求、响应类,实体类进行描述。
+
+### 7.1 注解的属性
+| 属性名称 | 属性类型 | 属性默认值 | 属性描述 |
+| -------- | -------- | ----- |----- | 
+|value|String|""|	为提供模型的替代名称,默认情况下,使用类名|
+|description|String|""|类的描述|
+|parent|Class<?> parent|Void.class|为模型提供父类以允许描述继承关系|
+|discriminatory|String|""|支持模型继承和多态,使用鉴别器的字段的名称,可以断言需要使用哪个子类型|
+|subTypes|boolean|false|是否必填,默认false|
+|access|Class<?> parent|Void.class|	从此模型继承的子类型数组|
+|reference|boolean|false|指定对应类型定义的引用,覆盖指定的任何其他元数据|
+
+## 8 @ApiModelProperty
+
+用在类上,对请求、响应类,实体类进行描述。
+
+### 8.1 注解的属性
+| 属性名称 | 属性类型 | 属性默认值 | 属性描述 |
+| -------- | -------- | ----- |----- | 
+|value|String|""|属性说明|
+|name|String|""|覆盖属性的名称|
+|allowableValues|String|""|参数允许值|
+|access|String|""|过滤属性|
+|required|boolean|false|是否必填,默认false|
+|dataType|String|""|参数的数据类型,可以使类名或原始数据类型|
+|hidden|boolean|false|	是否隐藏|
+|readOnly|String|""|添加被指定为只读的功能|
+|reference|String|""|指定对应类型定义的引用,覆盖指定的任何其他元数据|
+|allowEmptyValue|boolean|false|允许传空值|
+|example|String|""|属性的示例值|
+
+### 8.2 使用方法
+
+<font color="red">注意:java和scala在@ApiModelProperty注解上的使用的区别 </font>
+
+```java
+*java实体类
+@Data
+@ApiModel(description = "测试请求类")
+public class TestReq {
+
+    @ApiModelProperty(value = "用户ID",required = true)
+    private Long userId;
+    @ApiModelProperty(value = "用户名",example = "张三")
+}
+
+*scala实体类
+@Data
+@ApiModel(description = "测试响应类")
+public class TestRes {
+    @(ApiModelProperty @field)("用户ID")
+    private Long userId;
+    @(ApiModelProperty @field)("用户名")
+}
+```
+
+
+## 9. @ApiResponses
+
+用在方法、类上,对响应状态码列表进行描述。
+
+### 9.1 注解的属性
+| 属性名称 | 属性类型 | 属性默认值 | 属性描述 |
+| -------- | -------- | ----- |----- | 
+|value|ApiResponse[]|""|响应状态码列表的描述|
+
+## 10. @ApiResponse
+
+用在方法上,对响应状态码进行描述。一般作为@ApiResponses的属性使用。
+
+### 10.1 注解的属性
+| 属性名称 | 属性类型 | 属性默认值 | 属性描述 |
+| -------- | -------- | ----- |----- | 
+|code|int|""|响应的HTTP状态码|
+|message|String|""|响应的描述|
+|response|Class<?>|Void.class|用于描述消息有效负载的可选响应类,对应于响应消息对象的 schema 字段|
+|reference|String|""|指定对响应类型的引用,指定的应用可以使本地引用,也可以是远程引用,将按原样使用,并将覆盖任何指定的response()类|
+|responseHeaders|ResponseHeader[]|@ResponseHeader(name = "", response = Void.class)|可能响应的header列表|
+|responseContainer|String|""|声明响应的容器,有效值为List,Set,Map,任何其他值都将被忽略|
+
+
+### 10.2 使用方法
+
+```java
+@GetMapping("test2")
+@ApiOperation(value = "test2接口",notes = "test2接口详细描述")
+@ApiResponses(value = {
+        @ApiResponse(code = 200, message = "请求成功", responseHeaders = {@ResponseHeader(name = "header1", description = "header1的描述",response = String.class)}),
+        @ApiResponse(code = 401, message = "没有权限"),
+        @ApiResponse(code = 403, message = "禁止访问")
+})
+public ApiResult<TestRes> test2(@ApiParam(value = "aa的说明") @RequestParam String aa, @ApiParam(value = "bb的说明") @RequestParam String bb) {
+        return ApiUtil.success(new TestRes());
+}
+
+```
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.1/deployment/quick_deploy.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.1/deployment/quick_deploy.md
index d39058ea99..a22e9f78f9 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.1/deployment/quick_deploy.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.1/deployment/quick_deploy.md
@@ -213,7 +213,7 @@ export ENABLE_SPARK=false
 ```
 install.sh脚本会询问您是否需要初始化数据库并导入元数据。如果选择初始化,会把数据库中的表数据清空重新初始化。
 
-<font size="6" color="red">第一次安装</font><font color="red">必须选清空数据库</font>
+**<font color="red">第一次安装必须选清空数据库</font>**
 
 :::tip 注意
 - 如果出现报错,又不清楚具体是执行什么命令报错,可以加 -x 参数`sh -x bin/install.sh`,将shell脚本执行过程日志打印出来,方便定位问题
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.2/deployment/quick_deploy.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.2/deployment/quick_deploy.md
index 023ea66869..b67f802a7d 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.2/deployment/quick_deploy.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.1.2/deployment/quick_deploy.md
@@ -214,7 +214,7 @@ export ENABLE_SPARK=false
 
 install.sh脚本会询问您是否需要初始化数据库并导入元数据。如果选择初始化,会把数据库中的表数据清空重新初始化。
 
-<font size="6" color="red">第一次安装</font><font color="red">必须选清空数据库</font>
+**<font color="red">第一次安装必须选清空数据库</font>**
 
 :::tip 注意
 - 如果出现报错,又不清楚具体是执行什么命令报错,可以加 -x 参数`sh -x bin/install.sh`,将shell脚本执行过程日志打印出来,方便定位问题
diff --git a/resource/Conceptual-Architecture-Diagram.vsdx b/resource/Conceptual-Architecture-Diagram.vsdx
new file mode 100644
index 0000000000..96f0ba0f10
Binary files /dev/null and b/resource/Conceptual-Architecture-Diagram.vsdx differ
diff --git a/resource/Technical-Architecture-Diagram.vsdx b/resource/Technical-Architecture-Diagram.vsdx
new file mode 100644
index 0000000000..2d044cd9f1
Binary files /dev/null and b/resource/Technical-Architecture-Diagram.vsdx differ
diff --git a/src/pages/versions/config.json b/src/pages/versions/config.json
index 4aadcfdb6a..4321970ac5 100644
--- a/src/pages/versions/config.json
+++ b/src/pages/versions/config.json
@@ -60,7 +60,7 @@
     }
   },
   "en": {
-    "title": "Apache Linkis all document versions",
+    "title": "Apache Linkis All Document Versions",
     "latestVersion": "This is the current document version",
     "latestVersionExplain": "Here you can find the currently published version of the document",
     "nextVersion": "This is an unpublished document version",


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org