使用实体服务 API 创建组件与动态区域
页面摘要: 使用实体服务 API,可在创建或更新条目时创建和更新组件与动态区域。组件是单一对象,而动态区域则是带有
__component类型标识的组件列表。
WARNING
Entity Service API 在 Strapi v5 中已弃用。请考虑改用 Document Service API。
实体服务 是处理 组件 与 动态区域 逻辑的层级。借助实体服务 API,可在创建或更新条目时创建和更新组件与动态区域。
创建(Creation)
可通过实体服务 API 在创建条目时创建 组件:
strapi.entityService.create('api::article.article', {
data: {
myComponent: {
foo: 'bar',
},
},
});
可通过实体服务 API 在创建条目时创建 动态区域(即组件列表):
strapi.entityService.create('api::article.article', {
data: {
myDynamicZone: [
{
__component: 'compo.type',
foo: 'bar',
},
{
__component: 'compo.type2',
foo: 'bar',
},
],
},
});
更新(Update)
可通过实体服务 API 在更新条目时更新 组件。如果指定了组件的 id,则更新该组件;否则将删除旧组件并创建一个新组件:
strapi.entityService.update('api::article.article', 1, {
data: {
myComponent: {
id: 1, // 将更新 id 为 1 的组件(若未指定,则会删除该组件并创建一个新组件)
foo: 'bar',
},
},
});
可通过实体服务 API 在更新条目时更新 动态区域(即组件列表)。如果指定了组件的 id,则更新该组件;否则将删除旧组件并创建一个新组件:
strapi.entityService.update('api::article.article', 1, {
data: {
myDynamicZone: [
{
// 将更新
id: 2,
__component: 'compo.type',
foo: 'bar',
},
{
// 将新增一个并删除旧的
__component: 'compo.type2',
foo: 'bar2',
},
],
},
});