Files
cms-service/docs/API.md
2026-02-11 10:56:04 +08:00

50 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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`,版本列表分页)