# knife4j-swagger-vue3 基于 Vue3 重构的 Knife4j 风格 Swagger/OpenAPI 文档 UI。 ## 目标 - 解析逻辑严格遵守 Swagger 2.0 / OpenAPI 3.x 标准字段。 - UI 布局、颜色、表格和接口树风格对齐 Knife4j。 - 支持深层 `$ref`、`allOf`、`oneOf`、`anyOf`、数组对象和响应示例。 - 不依赖旧 Knife4j 前端解析器,避免响应参数和响应示例显示不稳定。 ## 目录 | 路径 | 说明 | | --- | --- | | `packages/openapi-parser` | Swagger/OpenAPI 标准解析器 | | `packages/knife4j-vue3-ui` | Vue3 Knife4j 风格 UI 组件 | | `apps/playground` | 本地调试入口,默认代理到 `127.0.0.1:48085` | ## 使用 ```bash pnpm install pnpm dev ``` 默认打开 `http://127.0.0.1:5188`,服务列表会读取: - `/api-json` - `/api/admin-json` - `/api/qqbot-json` - `/api/wordpress-json` - `/api/basic-json` ## 标准字段约定 响应示例按以下优先级读取: 1. `responses[code].content[mediaType].example` 2. `responses[code].content[mediaType].examples[*].value` 3. `responses[code].schema.example` 4. `components.schemas[*].example` / `definitions[*].example` 5. 根据 schema 的 `properties/items/type/default/example` 生成兜底示例 响应参数按标准 schema 展开,不读取 Knife4j 私有字段。 ## 来源与许可证 | 一级来源 | 使用方式 | License | | --- | --- | --- | | [Knife4j](https://github.com/xiaoymin/knife4j) | Swagger/OpenAPI 文档 UI 的视觉、交互和接口树风格参考 | Apache-2.0 |