我正在使用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
答案 0 :(得分:0)
根据docs:
datetime类型将被序列化为ISO 8601日期字符串
应该为2019-05-01
,不能像您使用URI编码形式/
一样使用斜杠%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点之间创建的所有项目。