悟空知识库API参考:知识库、文档、文件夹与权限REST接口完整清单
【免费下载链接】Wukong_KnowledgeBase悟空知识库,提供全面的知识管理功能,您可以在知识库中编辑wiki信息,同时可以将知识库内容共享给同事,进行协同创作。项目地址: https://gitcode.com/gh_mirrors/wu/Wukong_KnowledgeBase
悟空知识库是一款开源的知识管理系统,支持在线编辑 Wiki、团队协作创作与文档共享。本文带你快速读懂悟空知识库 API:基于后端 Spring Cloud 控制器逐条整理出知识库、文档、文件夹、权限四大核心 REST 接口清单,并附分组、标签、收藏、分享等辅助接口,帮助新手快速完成系统对接与二次开发。
一、API 在哪里:后端控制器结构总览
所有知识库接口都集中在km/km-web模块的 Controller 层,采用 Spring MVC + Swagger 注解,统一返回Result包装对象。核心控制器分布如下:
| 控制器 | 基础路径 | 职责 |
|---|---|---|
| KmKnowledgeLibraryController.java | /kmKnowledgeLibrary | 知识库增删改查、成员、搜索 |
| KmDocumentController.java | /kmDocument | 文档增删改查、移动、点赞 |
| KmFolderController.java | /kmFolder | 文件夹树、移动、删除 |
| KmAuthController.java | /kmAuth | 文档/文件夹操作权限 |
| KmGroupController.java | /kmGroup | 知识库分组管理 |
| KmDocumentLabelController.java | /kmDocumentLabel | 文档标签 |
| KmCollectController.java | /kmCollect | 收藏管理 |
| KmDocumentShareController.java | /kmDocumentShare | 文档分享 |
| KmActionRecordController.java | /kmActionRecord | 操作记录与回收站 |
💡通用约定:除文件下载外,所有接口均为POST方法;参数既可放在 URL 查询串(@RequestParam/@PathVariable),也可放在 JSON 请求体(@RequestBody);每个控制器通过@Api(tags=...)注解声明分组,方便生成接口文档。
二、知识库接口清单(/kmKnowledgeLibrary)
管理知识空间的"顶层容器",是新手对接时最先接触的模块。
| 接口路径 | 功能 | 说明 |
|---|---|---|
/kmKnowledgeLibrary/initKmData | 初始化知识库 | 系统初始化数据 |
/kmKnowledgeLibrary/add | 新建知识库 | 请求体SetKmKnowledgeLibraryBO |
/kmKnowledgeLibrary/update | 编辑知识库 | 需携带 libraryId |
/kmKnowledgeLibrary/delete/{libraryId} | 删除知识库 | 移入回收站 |
/kmKnowledgeLibrary/completelyDelete | 彻底删除知识库 | 不可恢复,慎用 |
/kmKnowledgeLibrary/updateMember | 修改团队成员 | 请求体UpdateMemberBO |
/kmKnowledgeLibrary/exitMember | 退出团队 | |
/kmKnowledgeLibrary/queryMember | 查询团队成员 | 返回QueryMemberVO列表 |
/kmKnowledgeLibrary/queryList | 查询知识库列表 | 支持按 groupId、star 过滤 |
/kmKnowledgeLibrary/queryById | 查询知识库详情 | 参数libraryId |
/kmKnowledgeLibrary/queryDocumentByLibraryId | 分页查询库下文档 | 请求体LibraryPageBO |
/kmKnowledgeLibrary/queryCollectDocumentByLibraryId | 查询库下收藏文档 | |
/kmKnowledgeLibrary/queryLibraryTemplate | 查询知识库模板 | 内置模板库 |
/kmKnowledgeLibrary/search | 全局文档搜索 | 请求体SearchBO,依赖 Elasticsearch |
/kmKnowledgeLibrary/getAISwitch | 查询 AI 服务开关 |
三、文档接口清单(/kmDocument)
文档是知识库的核心实体,支持在线编辑、移动、软删除与彻底删除两种删除策略。
| 接口路径 | 功能 |
|---|---|
/kmDocument/add | 添加文档 |
/kmDocument/update | 修改文档 |
/kmDocument/move | 移动文档(MoveDocumentBO) |
/kmDocument/queryById | 文档详情(DocumentDetailVO) |
/kmDocument/queryInfoById | 通过消息卡片查看文档信息 |
/kmDocument/delete | 删除文档(进回收站) |
/kmDocument/completelyDelete | 彻底删除文档 |
/kmDocument/favor | 文档点赞/取消点赞 |
/kmDocument/getAllFieldLanguageRel | 查询多语言字段 Key |
前端对应的调用封装可参考 doc.js,其中根据documentId是否存在自动切换add/update两个接口,是典型的 RESTful 客户端写法。
四、文件夹接口清单(/kmFolder)
文件夹负责知识库内的目录结构,接口以"树"为单位返回:
| 接口路径 | 功能 |
|---|---|
/kmFolder/add | 添加文件夹 |
/kmFolder/update | 修改文件夹 |
/kmFolder/delete | 删除文件夹 |
/kmFolder/completelyDelete | 彻底删除文件夹 |
/kmFolder/queryTreeList | 查询文件夹树(TreeListVO) |
/kmFolder/move | 移动文件夹 |
/kmFolder/queryById | 文件夹详情 |
五、权限与成员接口清单(/kmAuth)
权限体系控制"谁能看、谁能改"每个文档与文件夹,共 3 个接口:
| 接口路径 | 功能 | 说明 |
|---|---|---|
/kmAuth/addAuth | 添加权限 | 请求体AddAuthBO,支持角色级别授权 |
/kmAuth/updateAuth | 修改权限 | 请求体UpdateAuthBO |
/kmAuth/deleteAuthUser | 删除权限 | 请求体KmAuthUser |
⚠️ 权限校验贯穿各接口:例如文件下载接口 KmFileController.java 会先通过kmAuthService.getFolderOrDocumentAuth()判断角色,无权限时抛出KM_AUTH_ERROR。因此调用任何知识库 API 前先确保携带有效登录凭证。
六、辅助接口:分组、标签、收藏与分享
- 知识库分组(
/kmGroup):addGroup、updateGroup、updateGroupBatch、searchGroupList、removeGroupById,用于把多个知识库归类;KmGroupManagementController.java 还提供更细粒度的moveToGroup/removeToGroup/searchLibraryGroupList。 - 文档标签(
/kmDocumentLabel):add、update、deleteById/{labelId}、queryList、queryDocumentByLabelId(按标签检索文档)。 - 收藏(
/kmCollect):addCollect、cancelCollect、queryList三个接口。 - 分享(
/kmDocumentShare):openShare(生成外部分享链接)、addShareMember、closeShare、queryShareSys/{documentId}。 - 操作记录与回收站(
/kmActionRecord):queryList、queryDeleteList、queryLibraryDeleteList、restore(一键恢复误删内容)。
七、新手上手建议
- 先跑通只读接口:用
/kmKnowledgeLibrary/queryList和/kmFolder/queryTreeList拉取现有数据,理解Result返回结构; - 写操作注意两级删除:
delete只是移入回收站,completelyDelete不可恢复; - 对照前端源码:
ux/src/api/knowledge/下按模块拆分的 folder.js、group.js、label.js 等文件,是最贴近实战的接口调用示例; - 数据库结构:建表语句见 wk_open_km.sql,实体类(
KmKnowledgeLibrary、KmDocument、KmFolder、KmAuth等 PO)位于 entity/PO 目录,与接口字段一一对应。
掌握以上清单后,你就可以基于悟空知识库 API完成外部系统集成的第一步了 🚀
【免费下载链接】Wukong_KnowledgeBase悟空知识库,提供全面的知识管理功能,您可以在知识库中编辑wiki信息,同时可以将知识库内容共享给同事,进行协同创作。项目地址: https://gitcode.com/gh_mirrors/wu/Wukong_KnowledgeBase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考