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

Plone REST API:如何基于对象内的值过滤搜索结果?

基于嵌套对象值过滤搜索结果的解决方案

可以基于对象内的值过滤结果,以下是针对两个端点的正确操作方式:

使用@search端点

@search端点需要通过结构化的请求体来指定过滤规则,不能直接把priority.token=1作为参数传递。正确的做法是在请求体中同时指定查询范围和过滤条件:

{
  "query": "*",
  "filter": "priority.token = '1'"
}
  • query字段是必填项,用*表示匹配所有条目;
  • filter字段用来定义过滤规则,这里通过priority.token定位到嵌套字段,精确匹配值为'1'的条目。

使用@querystring-search端点

这个端点支持通过URL查询参数来设置过滤条件,需要用filter参数来指定嵌套字段的匹配规则:

@querystring-search?filter=priority.token%20%3D%20%271%27

如果是在代码中构造请求,未编码的参数格式是filter=priority.token = '1',注意要对空格、等号、单引号这些特殊字符做URL编码。

关于之前的报错原因

你直接传递priority.token=1时,系统会把它当成对priority索引字段的查询请求,但priority是对象类型,这种方式缺少了必填的query关键字段,因此抛出了错误。必须通过filter参数来明确指定嵌套字段的过滤逻辑。

内容的提问来源于stack exchange,提问作者Abdallah El-Yaddak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 21:52:32