Skip to content
liuzhihang edited this page Jul 28, 2021 · 1 revision

Other Settings -> Doc View

接口生成信息

鼠标在字段悬停,会提示相关信息。

文档标题

文档标题是指 Doc View 界面左上角名称,也是类中所有接口所属的分类(上传接口在接口平台所属分类),会按照指定的顺序获取。顺序如下:

  • @DocView.Title
  • 类注释
  • 全类名
  • 类名
  • DocView (不可取消勾选)

为了防止名称为空,最后一项 DocView 不可取消勾选,其他可选择。

接口名称

接口名称指单个接口方法的名称,即上传文档时的文档名称,会按照指定顺序获取。顺序如下:

  • @Operation
  • @ApiOperation
  • @Docview.Name
  • 方法注释
  • 方法名 (不可取消勾选)

为了防止名称为空,最后一项 方法名 不可取消勾选,其他可选择。

可以看出这里是兼容 SwaggerSwagger 3 的,同时也支持使用注释标签或者方法注释,防止代码侵入。

接口描述

接口描述是生成文档中对接口的描述信息。

  • @Operation
  • @Apioperation
  • 方法注释 (不可取消勾选)

字段必填

字段必填,在接口文档中显示是否必填,兼容 ValidationSwaggerSwagger3Lombok注释标签

  • Validation
    • @NotBlank
    • @NotEmpty
    • @NotNull
  • Lombok
    • @NonNull
  • Swagger
    • @Schema required 属性
    • @ApiModelProperty required 属性
  • 注释标签
    • @DocView.Required (可选)

其中除了 DocView 的注释标签可勾选之外,其他框架的注解一旦存在,则直接判断字段为必填字段。

模版配置

使用 Velocity 模版引擎,可以在一定程度上自定义文档内容。

模版关键字段如下:

${DocView.name}	接口名称
${DocView.desc}	接口描述
${DocView.path}	请求路径
${DocView.method}	请求方式
${DocView.requestHeader}	请求 Header 参数
${DocView.requestParam}	请求 Param 参数
${DocView.requestBody}	请求 Body 参数
${DocView.requestExample}	请求示例
${DocView.responseParam}	返回参数
${DocView.responseExample}	返回示例

默认模版

  • Spring
**接口名称:**

${DocView.name}

**接口描述:**

${DocView.desc}

**请求路径:**

${DocView.path}

**请求方式:**

${DocView.method}

**请求参数:**

- Header

${DocView.requestHeader}

- Param

${DocView.requestParam}

- Body

${DocView.requestBody}

**请求示例:**

${DocView.requestExample}

**返回参数:**

${DocView.responseParam}

**返回示例:**

${DocView.responseExample}
  • Dubbo
**接口名称:**

${DocView.name}

**接口描述:**

${DocView.desc}

**请求路径:**

${DocView.path}

**请求方式:**

${DocView.method}

**请求参数:**

${DocView.requestBody}

**请求示例:**

${DocView.requestExample}

**返回参数:**

${DocView.responseParam}

**返回示例:**

${DocView.responseExample}

生成示例

**接口名称:**

这是测试接口

**接口描述:**

这是测试接口

**请求路径:**

/user/postTest

**请求方式:**

POST

**请求参数:**

- Header

|参数名|参数值|必填|描述|
|:-----|:-----|:-----|:-----|
|Content-Type|application/json|Y|application/json|


- Param

|参数名|类型|必选|描述|
|:-----|:-----|:-----|:-----|


- Body

|参数名|类型|必选|描述|
|:-----|:-----|:-----|:-----|
|accountNo|String|Y||
|bankCode|String|Y||
|bankName|String|Y||
|cardNo|String|Y||
|accountList|List<UserAccount>|Y||
|-->userId|String|N|用户id|
|-->aliasName|String|N|别名|
|-->merchantId|String|N|商户号|
|-->productCode|String|N|产品号|
|innerUser|InnerUser|Y||
|-->userId|String|Y||
|-->userName|String|Y||


**请求示例:**

```json
{
    "accountNo": "",
    "bankCode": "",
    "bankName": "",
    "cardNo": "",
    "accountList": [
        {
            "userId": "",
            "aliasName": "",
            "merchantId": "",
            "productCode": ""
        }
    ],
    "innerUser": {
        "userId": "",
        "userName": ""
    }
}
```

**返回参数:**

|参数名|类型|必选|描述|
|:-----|:-----|:-----|:-----|
|userName|String|N|用户名字|
|userId|String|N|用户id|
|userRespVo|UserRespVo|Y||
|userRespVo1|UserRespVo|Y||
|userRespVo2|UserRespVo|Y||
|UserReqVoList1|List<UserReqVo>|Y||
|-->accountNo|String|Y||
|-->bankCode|String|Y||
|-->bankName|String|Y||
|-->cardNo|String|Y||
|-->accountList|List<UserAccount>|Y||
|-->-->userId|String|N|用户id|
|-->-->aliasName|String|N|别名|
|-->-->merchantId|String|N|商户号|
|-->-->productCode|String|N|产品号|
|-->innerUser|InnerUser|Y||
|-->-->userId|String|Y||
|-->-->userName|String|Y||
|UserReqVoList2|List<UserReqVo>|Y||
|-->accountNo|String|Y||
|-->bankCode|String|Y||
|-->bankName|String|Y||
|-->cardNo|String|Y||
|-->accountList|List<UserAccount>|Y||
|-->-->userId|String|N|用户id|
|-->-->aliasName|String|N|别名|
|-->-->merchantId|String|N|商户号|
|-->-->productCode|String|N|产品号|
|-->innerUser|InnerUser|Y||
|-->-->userId|String|Y||
|-->-->userName|String|Y||


**返回示例:**

```json
{
    "userName": "",
    "userId": "",
    "userRespVo": "Object for UserRespVo",
    "userRespVo1": "Object for UserRespVo",
    "userRespVo2": "Object for UserRespVo",
    "UserReqVoList1": [
        {
            "accountNo": "",
            "bankCode": "",
            "bankName": "",
            "cardNo": "",
            "accountList": [
                {
                    "userId": "",
                    "aliasName": "",
                    "merchantId": "",
                    "productCode": ""
                }
            ],
            "innerUser": {
                "userId": "",
                "userName": ""
            }
        }
    ],
    "UserReqVoList2": [
        {
            "accountNo": "",
            "bankCode": "",
            "bankName": "",
            "cardNo": "",
            "accountList": [
                {
                    "userId": "",
                    "aliasName": "",
                    "merchantId": "",
                    "productCode": ""
                }
            ],
            "innerUser": {
                "userId": "",
                "userName": ""
            }
        }
    ]
}
```

YApi 配置

上传接口文档到 YApi 时使用:

  • YApi 地址
  • 项目 id
  • Token

详情参考上传配置。

ShowDoc 配置

上传接口文档到 ShowDoc 时使用:

  • ShowDoc 地址
  • ApiKey
  • ApiToken

详情参考上传配置。