如何在Strapi CMS中按分类正确查询对应文章数据
错误原因
你的原有API请求存在两处问题导致筛选不生效:
- 多对多关联场景下,不能直接用
categories作为筛选字段,需要指定关联表的匹配字段,此处应使用分类的ID字段categories.id作为筛选条件 - 参数拼接错误,
<catId>和_sort参数之间缺少&分隔符,服务端无法正常解析参数
适配Strapi v3的正确请求写法
你当前使用的_where、_sort这类参数是Strapi v3的语法,正确请求如下:
http://localhost:1337/posts?_where[categories.id]=<catId>&_sort=createdAt:DESC&_start=0&_limit=3
请将<catId>替换为你实际需要筛选的分类ID数值
如果你使用的是Strapi v4版本,对应请求写法参考:
Strapi v4调整了请求参数的命名规则,示例如下:
http://localhost:1337/api/posts?filters[categories][id][$eq]=<catId>&sort=createdAt:desc&pagination[start]=0&pagination[limit]=3
如果需要同时返回分类的关联信息,可以在请求末尾追加&populate=categories参数。
内容的提问来源于stack exchange,提问作者Krishna
相关产品推荐
相关产品推荐

