You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Strapi技术问询:能否通过API或GraphQL删除嵌套可重复组件项?

可以通过API/GraphQL删除嵌套可重复组件中的指定项

完全可以实现,针对你这个restaurant集合里的franchise可重复组件,下面分别给出REST API和GraphQL的具体实现方式:

REST API 实现方式

由于每个franchise项都有独立的id,你可以通过PUT请求更新目标restaurant,在请求体中只保留需要保留的franchise项(即移除要删除的Florida项),Strapi会自动覆盖原有的组件数组,完成删除操作。

请求示例

  • 请求方法:PUT
  • 请求地址:/api/restaurants/2(2是目标restaurant的id)
  • 请求体(JSON格式):
{
  "data": {
    "franchise": [
      {
        "id": 5,
        "state": "New York"
      }
    ]
  }
}

注意:必须保留需保留项的id,否则Strapi会将其识别为新增组件项。

GraphQL 实现方式

通过updateRestaurant mutation,同样传入仅包含保留项的franchise数组即可完成删除。

Mutation 示例

mutation UpdateRestaurant($id: ID!, $data: RestaurantInput!) {
  updateRestaurant(id: $id, data: $data) {
    data {
      id
      attributes {
        franchise {
          id
          state
        }
      }
    }
  }
}

变量参数

{
  "id": "2",
  "data": {
    "franchise": [
      {
        "id": 5,
        "state": "New York"
      }
    ]
  }
}

注意事项

  • 确保你的API访问令牌拥有restaurant集合的更新权限;
  • 操作前建议先通过GET请求获取最新的franchise项数据,避免因数据不一致导致误删。

内容的提问来源于stack exchange,提问作者Binho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 12:17:20