openapi接口文档解析支持
This commit is contained in:
@@ -9,7 +9,9 @@
|
||||
<a-radio :value="2">Swagger JSON</a-radio>
|
||||
<a-radio :value="3">OpenApi URL</a-radio>
|
||||
<a-radio :value="4">OpenApi JSON</a-radio>
|
||||
<a-radio :value="5">自建API</a-radio>
|
||||
<a-tooltip title="即将上线,敬请期待">
|
||||
<a-radio :value="5" disabled>自建API</a-radio>
|
||||
</a-tooltip>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
<a-form-item label="文档地址" required name="docUrl" v-if="docEdit.docType === 1">
|
||||
|
||||
@@ -87,9 +87,9 @@
|
||||
produces: produces,
|
||||
};
|
||||
// 解析请求参数
|
||||
let definitionsDataMap = store.state.openApiDefinitions;
|
||||
requestParamList.value = openApiAnalysis.getRequestParamList(docInfo.parameters, definitionsDataMap);
|
||||
responseParamList.value = openApiAnalysis.getResponseParamList(docInfo.responses, definitionsDataMap);
|
||||
let openApiComponents = store.state.openApiComponents;
|
||||
requestParamList.value = openApiAnalysis.getRequestParamList(docInfo.parameters, openApiComponents);
|
||||
responseParamList.value = openApiAnalysis.getResponseParamList(docInfo.responses, openApiComponents);
|
||||
}
|
||||
onMounted(() => {
|
||||
initLoadDocument();
|
||||
|
||||
@@ -42,8 +42,8 @@
|
||||
</template>
|
||||
</template>
|
||||
<template #expandedRowRender="{ record }">
|
||||
<template v-if="record.schemas">
|
||||
<a-table :dataSource="record.schemas" :columns="responseParamListColumns" size="small" :pagination="false">
|
||||
<template v-if="record.childrens">
|
||||
<a-table :dataSource="record.childrens" :columns="responseMediaTypeColumns" size="small" :pagination="false">
|
||||
<template #bodyCell="{ column, text, record }">
|
||||
<template v-if="column.dataIndex === 'type'">
|
||||
{{text}}
|
||||
@@ -51,9 +51,23 @@
|
||||
<template v-if="record.format">({{record.format}})</template>
|
||||
</template>
|
||||
</template>
|
||||
<template #expandedRowRender="{ record }">
|
||||
<template v-if="record.schemas">
|
||||
<a-table :dataSource="record.schemas" :columns="responseParamListColumns" size="small" :pagination="false">
|
||||
<template #bodyCell="{ column, text, record }">
|
||||
<template v-if="column.dataIndex === 'type'">
|
||||
{{text}}
|
||||
<template v-if="record.subType">[{{record.subType}}]</template>
|
||||
<template v-if="record.format">({{record.format}})</template>
|
||||
</template>
|
||||
</template>
|
||||
</a-table>
|
||||
</template>
|
||||
<div v-else style="text-align: center;padding: 10px 0;">无结果说明</div>
|
||||
</template>
|
||||
</a-table>
|
||||
</template>
|
||||
<div v-else style="text-align: center;padding: 10px 0;">无参数说明</div>
|
||||
<div v-else style="text-align: center;padding: 10px 0;">无结果说明</div>
|
||||
</template>
|
||||
</a-table>
|
||||
</a-form-item>
|
||||
@@ -98,6 +112,9 @@
|
||||
{title: '类型', dataIndex: 'type', width: 250},
|
||||
{title: '说明', dataIndex: 'desc'},
|
||||
],
|
||||
responseMediaTypeColumns: [
|
||||
{title: '媒体类型', dataIndex: 'mediaType'},
|
||||
],
|
||||
responseParamListColumns: [
|
||||
{title: '参数名', dataIndex: 'name', width: 250},
|
||||
{title: '类型', dataIndex: 'type', width: 250},
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
produces: produces,
|
||||
};
|
||||
// 解析请求参数
|
||||
let definitionsDataMap = store.state.openApiDefinitions;
|
||||
let definitionsDataMap = store.state.openApiComponents;
|
||||
requestParamList.value = openApiAnalysis.getRequestParamList(docInfo.parameters, definitionsDataMap);
|
||||
responseParamList.value = openApiAnalysis.getResponseParamList(docInfo.responses, definitionsDataMap);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user