-
Notifications
You must be signed in to change notification settings - Fork 49
liuzhihang edited this page Jul 28, 2021
·
1 revision
Other Settings
-> Doc View
鼠标在字段悬停,会提示相关信息。
文档标题是指 Doc View 界面左上角名称,也是类中所有接口所属的分类
(上传接口在接口平台所属分类),会按照指定的顺序获取。顺序如下:
- @DocView.Title
- 类注释
- 全类名
- 类名
- DocView (不可取消勾选)
为了防止名称为空,最后一项 DocView
不可取消勾选,其他可选择。
接口名称指单个接口方法的名称,即上传文档时的文档名称
,会按照指定顺序获取。顺序如下:
- @Operation
- @ApiOperation
- @Docview.Name
- 方法注释
- 方法名 (不可取消勾选)
为了防止名称为空,最后一项 方法名
不可取消勾选,其他可选择。
可以看出这里是兼容 Swagger
、Swagger 3
的,同时也支持使用注释标签或者方法注释,防止代码侵入。
接口描述是生成文档中对接口的描述信息。
- @Operation
- @Apioperation
- 方法注释 (不可取消勾选)
字段必填,在接口文档中显示是否必填,兼容 Validation
、Swagger
、Swagger3
、Lombok
、注释标签
。
- 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 地址
- 项目 id
- Token
详情参考上传配置。
上传接口文档到 ShowDoc 时使用:
- ShowDoc 地址
- ApiKey
- ApiToken
详情参考上传配置。
欢迎关注我的公众号:『 程序员小航 』