gpt4 book ai didi

java - RESTHeart 的过滤器问题

转载 作者:行者123 更新时间:2023-12-01 11:58:05 26 4
gpt4 key购买 nike

我一直在 mongodb 之上使用 RESTHeart,以通过 Mongodb 的 REST 接口(interface)获得 CRUD 支持。当我不使用任何过滤器时,它工作正常,但是当我尝试使用 documentation 中提供的 HTTP GET 请求应用过滤器时,它工作正常。我遇到了如下所示的堆栈跟踪错误。

请求:http://127.0.0.1:8080/inBeta/donor?filter="{'name':'john'}"

14:15:49.373 [XNIO-1 task-1] ERROR c.s.restheart.handlers.ErrorHandler - error handling the request java.lang.ClassCastException: java.lang.String cannot be cast to org.bson.BSONObject at com.softinstigate.restheart.db.CollectionDAO.lambda$getCollectionData$45(CollectionDAO.java:178) ~[restheart.jar:0.9.7] at com.softinstigate.restheart.db.CollectionDAO$$Lambda$20/1288164368.accept(Unknown Source) ~[na:na] at 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 没有标签,因此如果有人可以为其创建一个标签,将会很有帮助。

最佳答案

问题终于解决了:)

我尝试使用文档中提供的其他 API,发现除了过滤器之外一切都正常,因此使用以下请求尝试该请求:

http://127.0.0.1:8080/inBeta/donor?filter=%7B'username':'john'%7D

它成功了。因此,罪魁祸首是过滤器查询周围的双引号

关于java - RESTHeart 的过滤器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28274954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com