我一直在使用mongodb之上的RESTHeart来支持Mongodb的REST接口。当我不使用任何过滤器时,它可以正常工作,但是,当我尝试使用文档中提供的HTTP请求应用过滤器时,我发现堆栈跟踪出现了错误,如下所示。
请求:http://127.0.0.1:8080/inBeta/donor?filter="{'name':'john'}"
14:15:49.373 XNIO-1任务-1错误c.s.restheart.handlers.ErrorHandler -错误处理请求java.lang.ClassCastException: java.lang.String不能转换为org.bson.BSONObject在java.lang.String ~restheart.jar:0.9.7在com.softinstigate.restheart.db.CollectionDAO$$Lambda$20/1288164368.accept(Unknown源) ~na:na在java.util。( ArrayDeque$DeqSpliterator.forEachRemaining(Unknown Source)~na:1.8.0_31 at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) ~na:1.8.0_31 at com.softinstigate.restheart.db.CollectionDAO.getCollectionData(CollectionDAO.java:177) ~restheart.jar:0.9.7
当我没有应用任何过滤器--它返回的JSON对象时,但是使用过滤器--它返回的BSON对象-- RESTHeart无法将其转换为JSON响应。将感谢任何帮助或指导来调查这一问题。
RESTHeart没有标记,所以如果有人可以为相同的标记创建一个标记,这将是有帮助的。
发布于 2015-02-02 14:12:01
最后,问题得到解决:)
我尝试使用文档中提供的其他API,发现除了筛选之外,一切都正常工作,因此使用以下请求尝试请求:
http://127.0.0.1:8080/inBeta/donor?filter=%7B'username':'john'%7D啊,真灵。因此,罪魁祸首是围绕过滤器查询的双引号。
https://stackoverflow.com/questions/28274954
复制相似问题