用于访问内容的 API

页面摘要: Strapi 的 Content API 通过 REST 和 GraphQL API 为前端应用提供内容访问能力,并提供更低层的 Document Service 和 Query Engine API 用于后端与插件开发。

创建并配置好 Strapi 项目、使用 内容类型构建器 创建内容结构,并开始通过 内容管理器 添加数据之后,你可能希望访问你的内容。

从前端应用,可以通过 Strapi 的 Content API 访问你的内容,该 API 默认通过以下方式暴露:

你也可以使用 Strapi 客户端 库与 REST API 交互。

REST 和 GraphQL API 代表暴露给外部应用的 Content API 的顶层。Strapi 还提供 2 个更低层的 API:

  • Document Service API,通过 strapi.documents 访问,是推荐用于在 后端服务器 内或通过 插件 与应用程序数据库交互的 API。Document Service 是处理 文档 以及 Strapi 复杂内容结构(如组件和动态区域)的层级。
  • Query Engine API,通过 db.query(即 strapi.db.query)访问,以更低层级与数据库层交互,并在底层用于执行数据库查询。它提供对数据库层的无限制内部访问,但不了解 Strapi 5 能够处理的高级 Strapi 功能,如草稿与发布、国际化、内容历史等。 ⚠️ 在绝大多数(甚至可以说是全部)使用场景中,你应该使用 Document Service API 而非它。

Content APIs 示意图

本文档部分包含关于以下 Strapi API 的参考信息,以及与第三方技术集成的一些指南:

  • REST API — 通过 REST 从前端应用查询 Content API。

  • GraphQL API — 通过 GraphQL 从前端应用查询 Content API。

  • Strapi 客户端 — 通过 Strapi 客户端库与 REST API 交互。

  • Document Service API — 通过后端服务器或插件查询你的数据。

  • OpenAPI 规范 — 为你的 Strapi 应用生成 OpenAPI 规范。

集成

如果你在寻找如何将 Strapi 与其他平台(如 Next.js、Astro、Angular 等)集成,请参阅 Strapi 的 集成页面。