2015-02-02 3 views
0

저는 Mongodb의 REST 인터페이스를 사용하기 위해 mongodb 위에 RESTHeart를 사용했습니다. 아무런 필터를 사용하지 않을 때 잘 작동하지만, documentation에 제공된대로 HTTP GET 요청으로 필터를 적용하려고했을 때 아래와 같이 stacktrace에 오류가 발생했습니다.RESTHeart filters with

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

14 : 15 : 49.373 [XNIO -1- 일 -1-] ERROR csrestheart.handlers.ErrorHandler - 에러 요청 java.lang.ClassCastException가 취급 : java.lang.String의 org.bson.BSONObject에 캐스트 할 수 없습니다. com.softinstigate.restheart.db.CollectionDAO.lambda $ getCollectionData $ 45 (CollectionDAO.java:178) ~ [restheart.jar : 0.9.7] com.softinstigate.restheart에서 으로 캐스팅 할 수 없습니다. .db.CollectionDAO $$ Lambda $ 20/1288164368.accept (알 수없는 소스) ~ [na : na] at java.util.ArrayDeque $ DeqSpliterator.forEachRemainin g (Unknown Source) ~ [na : 1.8.0_31] at comuters.restheart.db.CollectionDAO .getCollectionData (CollectionDAO.java:177) ~ [restheart.jar : 0.9.7] 내가 어떤 필터를 적용하지 않은 경우의 반환 BSON 개체를 필터로

가 반환 JSON 객체가, 그러나 RESTHeart가 없습니다 JSON 응답으로 변환합니다. 이 문제를 조사하기위한 도움이나 방향에 감사드립니다.

P. RESTHeart에 대한 태그가 없으므로 누군가가 동일한 태그를 만들 수 있다면 도움이됩니다.

답변

1

은 마지막으로, 문제가 해결 :)

내가 모든 필터를 제외하고 작업을 따라서 아래의 요청을 사용하여 요청 시도되는 문서에서 제공하는 다른 API를 사용하여 시도 발견 :

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

이 일을 . 따라서 범인은 큰 따옴표 필터 쿼리입니다.

관련 문제