首页 > 解决方案 > 使用 plone.restapi 插件返回错误查询 plone 通过搜索获取​​今天的文件

问题描述

我正在使用 plone.restapi 和邮递员发出 GET 请求,该请求应该使用 plone @search 返回最后一天的文件。问题是,当它发送请求时,我在需要数据的查询上出现错误,并且我返回以下表示错误的 JSON。我还尝试使用时区以所有可能的不同格式编写日期,但结果始终相同。有谁知道该怎么做?

这是我的网址:http://192.168.197.28:8080/docrai-cms/@search?advanced_search=False&sort_on=&sort_order=&SearchableText=pdf&advanced_search=True&portal_type%3Alist=File&created.query%3Arecord%3Alist%3Adate=2019%2F05%2F01&created.range%3Arecord=min

这是工作的浏览器 URL:http://192.168.197.28:8080/docrai-cms/@@search?advanced_search=False&sort_on=&sort_order=&SearchableText=pdf&advanced_search=True&portal_type%3Alist=File&created.query%3Arecord%3Alist%3Adate=2019%2F05%2F01&created.range%3Arecord=min

这些是所附照片: 在此处输入图像描述 在此处输入图像描述

标签: datetimerequestpostmanplone

解决方案


根据文档

日期时间类型将被序列化为 ISO 8601 日期字符串

应该是,没有像您在 URI 编码形式中使用的2019-05-01斜线。/%2F

这适用curl于请求:

curl -i "localhost:8080/Plone/@search?created.query=2019-05-09&created.range=min" -H "Accept: application/json"

这将返回在给定日期或之后创建的所有项目。

对于请求一个日期范围,可以做(为简洁起见仅显示查询):

?created.query=2019-05-09T08:00:00&created.query=2019-05-09T20:00:00&created.range=min:max

这将返回在指定日期上午 8 点到晚上 8 点之间创建的所有项目


推荐阅读