openapi: 3.0.0 info: title: learning description: 培训考试 version: 0.0.1 paths: /Test.Nullable: post: tags: - 测试 operationId: Test.Nullable summary: 测试空值参数 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/Nullable' examples: AllPass: $ref: '#/components/examples/NullableReqAllPass' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" /LearningSkill.List: post: tags: - 考试培训-技能 operationId: LearningSkill.List summary: 技能列表 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/NoArgs' examples: NoArgs: $ref: '#/components/examples/NoArgs' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" /LearningSkill.Get: post: tags: - 考试培训-技能 operationId: LearningSkill.Get summary: 技能详情 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/LearningSkillGet' examples: LearningSkillGet: $ref: '#/components/examples/LearningSkillGet' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" /LearningSkill.Add: post: tags: - 考试培训-技能 operationId: LearningSkill.Add summary: 添加技能 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/LearningSkillAdd' examples: LearningSkillAdd: $ref: '#/components/examples/LearningSkillAdd' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" /LearningSkill.Update: post: tags: - 考试培训-技能 operationId: LearningSkill.Update summary: 更新技能 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/LearningSkillUpdate' examples: LearningSkillUpdate: $ref: '#/components/examples/LearningSkillUpdate' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" /LearningSkill.Delete: post: tags: - 考试培训-技能 operationId: LearningSkill.Delete summary: 删除技能 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/IdReq' examples: LearningSkillDelete: $ref: '#/components/examples/LearningSkillDelete' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" /LearningMaterial.List: post: tags: - 考试培训-资料 operationId: LearningMaterial.List summary: 查询资料 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/LearningMaterialList' examples: LearningMaterialList: $ref: '#/components/examples/LearningMaterialList' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" /LearningMaterial.Get: post: tags: - 考试培训-资料 operationId: LearningMaterialGet summary: 资料详情 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/LearningMaterialGet' examples: LearningMaterialGet: $ref: '#/components/examples/LearningMaterialGet' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" /LearningMaterial.Add: post: tags: - 考试培训-资料 operationId: LearningMaterialAdd summary: 添加资料 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/LearningMaterialAdd' examples: LearningMaterialAdd: $ref: '#/components/examples/LearningMaterialAdd' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" /LearningMaterial.Update: post: tags: - 考试培训-资料 operationId: LearningMaterialUpdate summary: 修改资料 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/LearningMaterialUpdate' examples: LearningMaterialUpdate: $ref: '#/components/examples/LearningMaterialUpdate' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" /LearningMaterial.Delete: post: tags: - 考试培训-资料 operationId: LearningMaterialDelete summary: 删除资料 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/IdReq' examples: LearningMaterialDelete: $ref: '#/components/examples/LearningMaterialDelete' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" /LearningQuestion.Get: post: tags: - 考试培训-题库 operationId: LearningQuestionGet summary: 题库详情 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/IdReq' examples: LearningQuestionGet: $ref: '#/components/examples/LearningQuestionGet' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" /LearningQuestion.List: post: tags: - 考试培训-题库 operationId: LearningQuestionList summary: 查询题库 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/LearningQuestionList' examples: LearningQuestionList: $ref: '#/components/examples/LearningQuestionList' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" /LearningQuestion.Add: post: tags: - 考试培训-题库 operationId: LearningQuestionAdd summary: 添加题库 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/LearningQuestionAdd' examples: LearningQuestionAdd: $ref: '#/components/examples/LearningQuestionAdd' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" /LearningQuestion.Update: post: tags: - 考试培训-题库 operationId: LearningQuestionUpdate summary: 更新题库 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/LearningQuestionUpdate' examples: LearningQuestionUpdate: $ref: '#/components/examples/LearningQuestionUpdate' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" /LearningQuestion.Delete: post: tags: - 考试培训-题库 operationId: LearningQuestionDelete summary: 删除题库 requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/IdReq' examples: LearningQuestionDelete: $ref: '#/components/examples/LearningQuestionDelete' responses: 200: description: 请求成功 content: application/json: examples: success: $ref: "#/components/examples/success" # 添加这个 swagger ui 会显示授权按钮 security: - bearerAuth: [] components: securitySchemes: basicAuth: type: http scheme: basic bearerAuth: type: http scheme: bearer schemas: Nullable: type: object required: - Str - Int - Bool - Slice properties: Str: type: string description: 字符串参数 Int: type: integer description: Int 参数 Bool: type: boolean description: Bool 参数 Slice: type: array description: Slice 参数 items: type: integer NoArgs: type: object properties: noargs: type: string description: 无参数,但是 body 中必须传输一个 json 空对象 "{}" LearningSkillGet: properties: id: type: string description: 技能 id name: type: string description: 技能名称 LearningSkillAdd: properties: instrumentId: type: string description: 技能关联的设备 id name: type: string description: 技能名称 LearningSkillUpdate: required: - id properties: id: type: string description: 技能 id instrumentId: type: string description: 技能关联的设备 id name: type: string description: 技能名称 IdReq: type: object required: - id properties: id: type: integer description: ID LearningMaterialList: type: object properties: page: type: object description: 分页信息,不传默认不分页,返回所有数据 properties: current: type: integer description: 当前页面 size: type: integer description: 每页条数 orderBy: type: object description: 排序 properties: type: type: string description: 排序方式 enum: - asc - desc value: type: string description: 字段名 skillId: type: integer description: 按技能 Id 查询 name: type: string description: 按资料名称模糊查询 LearningMaterialGet: type: object properties: id: type: string description: 资料 id name: type: string description: 资料名称 LearningMaterialAdd: type: object required: - skillId - name - type - enable properties: skillId: type: integer description: 技能 Id name: type: string description: 资料名称 type: type: integer description: 资料类型 1 资料 2 视频 sortNo: type: integer description: 排序 enable: type: integer description: 是否启用 0 未启用 1 启用 content: type: string description: 资料内容 file: type: array description: 附件 items: type: object properties: name: type: string description: 文件名 url: type: string description: 文件地址 size: type: string description: 文件大小 extend: type: string description: 文件扩展名 LearningMaterialUpdate: type: object required: - id properties: id: type: integer description: 资料 id skillId: type: integer description: 技能 Id name: type: string description: 资料名称 type: type: integer description: 资料类型 1 资料 2 视频 sortNo: type: integer description: 排序 enable: type: integer description: 是否启用 0 未启用 1 启用 content: type: string description: 资料内容 file: type: array description: 附件 items: type: object properties: name: type: string description: 文件名 url: type: string description: 文件地址 size: type: string description: 文件大小 extend: type: string description: 文件扩展名 LearningQuestionList: type: object properties: page: type: object description: 分页信息,不传默认不分页,返回所有数据 properties: current: type: integer description: 当前页面 size: type: integer description: 每页条数 orderBy: type: object description: 排序 properties: type: type: string description: 排序方式 enum: - asc - desc value: type: string description: 字段名 skillId: type: integer description: 按技能 Id 查询 name: type: string description: 按题目名称模糊查询 LearningQuestionAdd: type: object required: - skillId - name - type - content properties: skillId: type: integer description: 技能 Id name: type: string description: 题目名称 type: type: integer description: 题型 1 单选 2 多选 3 判断 enable: type: integer description: 是否启用 0 未启用 1 启用 content: type: array description: 选项 items: type: object properties: name: type: string description: 选项 content: type: string description: 内容 isCorrect: type: boolean description: 是否是答案 explanation: type: string description: 题目解析 LearningQuestionUpdate: type: object required: - id properties: id: type: integer description: 题目 id skillId: type: integer description: 技能 Id name: type: string description: 题目名称 type: type: integer description: 题型 1 单选 2 多选 3 判断 enable: type: integer description: 是否启用 0 未启用 1 启用 content: type: array description: 选项 items: type: object properties: name: type: string description: 选项 content: type: string description: 内容 isCorrect: type: boolean description: 是否是答案 explanation: type: string description: 题目解析 examples: success: summary: 请求成功 value: code: 200, msg: "success" NullableReqAllPass: value: Str: "" Int: 0 Bool: false Slice: [] NoArgs: value: noargs: "" LearningSkillGet: value: Id: 1 LearningSkillAdd: value: name: 测试 instrumentId: [1,2] LearningSkillUpdate: value: name: 测试更新 instrumentId: [3,4] id: 1 LearningSkillDelete: value: id: 1 LearningMaterialList: value: page: current: 2 size: 2 orderBy: type: desc value: id skillId: 2 name: "测试" LearningMaterialGet: value: id: 1 LearningMaterialAdd: value: skillId: 2 name: 测试 1 type: 2 sortNo: enable: 1 content: 测试 file: - name: "1" url: 1.txt size: "1" extend: .txt - name: "2" url: 2.txt size: "2" extend: .txt LearningMaterialUpdate: value: id: 1 skillId: 4 name: 测试修改 type: 1 sortNo: 5 enable: 0 content: 测试修改 file: - name: "3" url: 3.txt size: "3" extend: .txt - name: "4" url: 4.txt size: "4" extend: .txt LearningMaterialDelete: value: id: 1 LearningQuestionGet: value: id: 1 LearningQuestionList: value: page: current: 2 size: 2 orderBy: type: desc value: id skillId: 2 name: "测试" LearningQuestionAdd: value: skillId: 2 name: 测试 type: 1 enable: 1 content: - name: A content: 测试A isCorrect: true - name: B content: 测试B isCorrect: false explanation: 测试 LearningQuestionUpdate: value: id: 1 skillId: 5 name: 测试修改 type: 2 enable: 1 content: - name: A content: 测试测试修改A isCorrect: true - name: B content: 测试测试修改B isCorrect: true explanation: 测试测试修改 LearningQuestionDelete: value: id: 1