跳转至

Wiki 概念分类(KmsWikiConceptCategoryController)

提供 KMS 知识管理模块「Wiki 概念分类域」(KMS_WIKI_CONCEPT_CATEGORY)的增删改查能力:分类列表(可按状态过滤)、分类详情、新建分类、更新分类、删除分类。所有端点均返回 JSON 资源。

  • 接口类型:REST 资源(@RestController,类级与所有方法级 produces = MediaType.APPLICATION_JSON_VALUE
  • 基址${myapps.context-path.kms:}/api/kms/wiki/concept/categories ${myapps.context-path.kms:}/kms/wiki/concept/categories(类级 @RequestMapping 同时声明两个前缀,同一端点可经任一前缀访问;下文示例统一采用 /api/kms/wiki/concept/categories
  • Tag:kms Wiki 概念分类模块

公共说明

  • 鉴权(据源码 KmsMvcConfig + KmsSecurityFilterKmsMvcConfig 注册全局 Servlet 过滤器 KmsSecurityFilter(URL 模式 /*,context-path 为 / 时为 /kms/*)。本控制器路径 /api/kms/wiki/concept/categories/**/kms/wiki/concept/categories/** 均不在 KmsSecurityFilter.isExcludeURI 的豁免名单内(豁免仅覆盖 /login.*/admin/domain.*/tray/service/authtimeservice/OfficeServer.*outsideshare/.*/preview、静态资源后缀、actuator/health 等)。过滤器调用 Security.getUserIdFromToken(request),取不到用户则返回 HTTP 401因此所有端点均需 accessToken,可通过以下任一方式传递(据 Security.getUserIdFromToken):query 参数 accessToken、query 参数 access_token(移动端)、请求头 accessToken、Cookie accessToken、请求头 Authorization: Bearer <token>。完整鉴权机制见 index.md「鉴权说明」。
  • 执行用户:控制器内 getUser()(继承自 AbstractBaseController)调用 Security.getUserIdFromToken(request) 还原当前用户 id,再经 Feign(UserAPI.getUserById)装载 KmsUseruserCode 参数。所有方法体内均显式调用 getUser() 用于鉴权(不使用其返回值)。
  • 响应结构:统一 Resource(见 ../index.md「统一响应结构」),字段为 errcode/errmsg/data/errors。KMS 的 ResourceAbstractBaseController 内部类,其构造器对 data 执行 ESAPI.encode(data) 做 XSS 编码,故 data 中的 HTML 特殊字符会被转义。
  • HTTP 状态码与错误码(据源码 AbstractBaseController 全局异常处理):成功默认 HTTP 200;InvalidRequestException → HTTP 400 / errcode=400;UnauthorizedException → HTTP 403 / errcode=403;ForbiddenException → HTTP 403 / errcode=403;ResourceNotFoundException → HTTP 404 / errcode=404(如 getRequired(id) 在分类不存在时抛出);其他 Exception → HTTP 500 / errcode=500。
  • 路径变量id 为分类主键(明文 id)。

1. 分类列表

返回全部 Wiki 概念分类列表,按 sortNum 升序排序;可选 status 过滤(1 正常、0 禁用)。

  • 接口类型:REST 资源
  • 请求方式GET
  • 请求路径/(完整:{kms-context}/api/kms/wiki/concept/categories;方法级未声明子路径,直接命中类级基址)
  • 鉴权:是(需 accessToken,据源码)
  • Tag:kms Wiki 概念分类模块

请求参数

参数名 位置 类型 必填 说明
status query int 状态过滤(源码标注 required=false1 正常、0 禁用;不传则返回全部)

请求示例

GET /api/kms/wiki/concept/categories?status=1&accessToken=__TOKEN__ HTTP/1.1

响应

结构:统一 Resource(见 ../index.md「统一响应结构」)。 dataList<KmsWikiConceptCategory>,分类列表(按 sortNum 升序)。


2. 分类详情

按分类 Id 获取单个 Wiki 概念分类详情。分类不存在时由 getRequired(id)ResourceNotFoundException(HTTP 404)。

  • 接口类型:REST 资源
  • 请求方式GET
  • 请求路径/{id}(完整:{kms-context}/api/kms/wiki/concept/categories/{id}
  • 鉴权:是(需 accessToken,据源码)
  • Tag:kms Wiki 概念分类模块

请求参数

参数名 位置 类型 必填 说明
id path string 分类Id

请求示例

GET /api/kms/wiki/concept/categories/__ID__?accessToken=__TOKEN__ HTTP/1.1

响应

结构:统一 ResourcedataKmsWikiConceptCategory,分类详情。


3. 新建分类

新建一个 Wiki 概念分类。请求体为 KmsWikiConceptCategory 对象 JSON。

  • 接口类型:REST 资源
  • 请求方式POST
  • 请求路径/(完整:{kms-context}/api/kms/wiki/concept/categories;方法级未声明子路径,直接命中类级基址)
  • 鉴权:是(需 accessToken,据源码)
  • Tag:kms Wiki 概念分类模块

请求参数

参数名 位置 类型 必填 说明
body body object KmsWikiConceptCategory 对象 JSON

请求体

{
  "name": "技术",
  "sortNum": 1,
  "status": 1
}

请求示例

POST /api/kms/wiki/concept/categories?accessToken=__TOKEN__ HTTP/1.1
Content-Type: application/json

{ "name": "技术", "sortNum": 1, "status": 1 }

响应

结构:统一 Resourcedata:新建后的 KmsWikiConceptCategory


4. 更新分类

按分类 Id 更新 Wiki 概念分类(以请求体整体覆盖)。

  • 接口类型:REST 资源
  • 请求方式PUT
  • 请求路径/{id}(完整:{kms-context}/api/kms/wiki/concept/categories/{id}
  • 鉴权:是(需 accessToken,据源码)
  • Tag:kms Wiki 概念分类模块

请求参数

参数名 位置 类型 必填 说明
id path string 分类Id
body body object KmsWikiConceptCategory 对象 JSON

请求体

{ "name": "技术(更新)", "sortNum": 2, "status": 1 }

请求示例

PUT /api/kms/wiki/concept/categories/__ID__?accessToken=__TOKEN__ HTTP/1.1
Content-Type: application/json

{ "name": "技术(更新)", "sortNum": 2, "status": 1 }

响应

结构:统一 Resourcedata:更新后的 KmsWikiConceptCategory


5. 删除分类

按分类 Id 删除 Wiki 概念分类。若分类下仍有关联词条则拒绝删除(据 @Operation.description,由服务层校验并抛异常,经全局处理器映射为对应错误码)。

  • 接口类型:REST 资源
  • 请求方式DELETE
  • 请求路径/{id}(完整:{kms-context}/api/kms/wiki/concept/categories/{id}
  • 鉴权:是(需 accessToken,据源码)
  • Tag:kms Wiki 概念分类模块

请求参数

参数名 位置 类型 必填 说明
id path string 分类Id

请求示例

DELETE /api/kms/wiki/concept/categories/__ID__?accessToken=__TOKEN__ HTTP/1.1

响应

结构:统一 Resourcedataboolean,固定为 true(删除由 kmsWikiConceptCategoryService.delete(id) 完成)。