2.0 KiB
2.0 KiB
CMS Service API(概览)
CMS 对外暴露 RESTful API,并提供 Scalar 文档:
GET /scalar
通用约定
- Header:
Authorization: Bearer <access_token>X-Tenant-ID: <tenant_uuid>
- JWT 校验:默认从 IAM 的
/.well-known/jwks.json获取公钥(也可配置JWT_PUBLIC_KEY_PEM静态公钥) - 所有资源均为多租户数据:所有表均包含
tenant_id字段,并在查询/写入时强制按tenant_id过滤。 - 权限校验:CMS 侧不实现 RBAC 规则聚合,仅通过 iam-client 调用 IAM
POST /authorize/check由 IAM 裁决。
接口清单(v1)
栏目(Column)
POST /api/v1/columns(cms:column:write)GET /api/v1/columns(cms:column:read,分页/搜索)GET /api/v1/columns/{id}(cms:column:read)PATCH /api/v1/columns/{id}(cms:column:write)DELETE /api/v1/columns/{id}(cms:column:write)
标签/分类(Tag)
POST /api/v1/tags(cms:tag:write,kind支持tag|category)GET /api/v1/tags(cms:tag:read,分页/搜索/按 kind 过滤)GET /api/v1/tags/{id}(cms:tag:read)PATCH /api/v1/tags/{id}(cms:tag:write)DELETE /api/v1/tags/{id}(cms:tag:write)
媒体库(Media)
POST /api/v1/media(cms:media:manage,登记 URL/元数据)GET /api/v1/media(cms:media:read,分页/搜索)GET /api/v1/media/{id}(cms:media:read)DELETE /api/v1/media/{id}(cms:media:manage)
文章(Article)
POST /api/v1/articles(cms:article:edit,创建草稿)GET /api/v1/articles(cms:article:edit,分页/搜索/按状态/栏目/标签过滤)GET /api/v1/articles/{id}(cms:article:edit)PATCH /api/v1/articles/{id}(cms:article:edit)POST /api/v1/articles/{id}/publish(cms:article:publish,发布并生成版本)POST /api/v1/articles/{id}/rollback(cms:article:rollback,回滚到指定版本并生成新版本)GET /api/v1/articles/{id}/versions(cms:article:edit,版本列表分页)