用途:通过 Strapi 的 REST API 管理无头 CMS 内容,适合在对话中查询、创建、更新、删除内容条目,以及上传媒体文件。
主要能力:先发现内容类型,再执行集合类型(多条)与单一类型(单条)的增删改查;支持分页、排序、过滤、关系填充(populate)和媒体上传与关联。
必要用法:操作前必须先发现内容类型,因为每个 Strapi 实例的类型、字段和关系都不同,不能假设。发现命令:curl -s "$STRAPI_BASE_URL/api/content-type-builder/content-types" --header "Authorization: Bearer $STRAPI_TOKEN" | jq '[.data[] | select(.schema.visible != false) | {uid: .uid, name: .schema.displayName, kind: .schema.kind, attributes: [.schema.attributes | to_entries[] | {name: .key, type: .value.type, required: .value.required}]}]'。API 路径由内容类型的复数名派生,如 api::article.article 对应 /api/articles。创建和更新时数据需包在 data 键内;关系默认不返回,需用 populate=* 或指定字段。
限制:可用操作取决于 API 令牌类型(完全访问、只读或按内容类型的自定义权限);Strapi v5 的 CRUD 使用 document ID 而非数字 ID;过滤操作符包括 $eq、$ne、$lt、$lte、$gt、$gte、$in、$contains、$containsi、$startsWith、$null、$notNull,可用 $or 组合。请求失败时可运行 zero doctor check-connector --env-name STRAPI_TOKEN 或 zero doctor check-connector --url https://docs.strapi.io/cms/api/rest --method GET 排查。官方参考见 https://docs.strapi.io/cms/api/rest。