publicationState 已移除并由 status 取代

页面摘要: 在 Strapi 5 中,publicationState 参数被 status 取代,后者接受 draft 和 published 值,而非 live 和 preview。

在 Strapi 5 中,草稿与发布功能 已重构,包括 REST、GraphQL 和文档服务 API 在内的内容 API 都接受一个新的 status 参数。

本页面是破坏性变更数据库的一部分,提供有关该破坏性变更的信息,以及从 Strapi v4 迁移到 Strapi 5 的附加说明。

代码迁移工具: entity-service-document-service

破坏性变更说明

在 Strapi v4 中

使用 publicationState,并接受以下值:

  • live 只返回已发布的条目,
  • preview 返回草稿条目和已发布条目。

在 Strapi 5 中

使用 status,并接受以下值:

  • draft 返回文档的草稿版本,
  • published 返回文档的已发布版本。

迁移

本节汇总了关于该破坏性变更的有用说明和操作步骤。

说明

  • 默认情况下没有回退机制来返回已发布版本,并在找不到已发布版本时返回草稿版本。
  • 有关如何使用新 status 参数的更多信息,可在 REST API、GraphQL API 和 文档服务 API 文档中找到。

迁移步骤

  • 从前端发起的(REST API、GraphQL API)使用过 publicationState 的 API 调用需要手动更新。
  • 如果你在 Strapi v4 的自定义后端代码中使用实体服务 API 配合 publicationState,codemod 会自动处理向 Strapi 5 的变更(更多详情请参阅 实体服务到文档服务迁移参考)。