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 的变更(更多详情请参阅 实体服务到文档服务迁移参考)。