Strapi调用bulkDelete批量删除集合条目报contentType.notFound如何解决
问题原因与解决方案
核心错误点
你遇到的contentType.notFound报错,本质是接口路径中的:model占位符填写不符合Strapi的接口规则,没有匹配到对应内容类型。
具体修正步骤
- 首先明确:Strapi v4的content-manager系列接口中,
:model参数需要填内容类型的全局唯一UID,而非单纯的单数/复数名称。你自行创建的自定义集合类型,UID格式为api::<API标识>.<API标识>,仅填book无法被系统识别。 - 查询你的内容类型正确UID:打开项目代码路径
src/api/<API目录名>/content-types/<API标识名>/schema.json,文件首行的uid字段值就是要填到:model位置的正确内容。
举个例子,如果你创建的集合类型显示名称为Books,默认生成的API标识是book,那么对应UID就是api::book.book,正确的接口请求路径为:POST /content-manager/collection-types/api::book.book/actions/bulkDelete - 额外校验项:
- 请求头必须带上
Content-Type: application/json,同时带上有对应权限的认证凭证(管理员API Token或用户JWT Token) - 要在Strapi后台的权限设置中,给当前认证凭证对应的角色开启该内容类型的
bulkDelete操作权限,否则即使路径正确也会返回权限类报错 - 你传入的请求体
{"ids": ["2", "3"]}格式本身是合规的,路径修正后可以正常使用
- 请求头必须带上
内容的提问来源于stack exchange,提问作者sunwarr10r
相关产品推荐
相关产品推荐

