redis / redis-om-spring

Spring Data Redis extensions for better search, documents models, and more
MIT License
603 stars 93 forks source link

Same query but DIALECT 3 got json Parse error #476

Closed GohKianSeng closed 2 months ago

GohKianSeng commented 3 months ago

hello

can share some info why when using DIALECT 3 the response value has Square Bracket [] while DIALECT 1 doesn't have. how to use DIALECT 3 without Square Bracket []

because i got this error using using dialect 3 for this query

image

Uncaught exception Thrown: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $ com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $ at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:397) at com.google.gson.Gson.fromJson(Gson.java:1227) at com.google.gson.Gson.fromJson(Gson.java:1137) at com.google.gson.Gson.fromJson(Gson.java:1047) at com.google.gson.Gson.fromJson(Gson.java:982) at com.redis.om.spring.repository.query.RediSearchQuery.parseDocumentResult(RediSearchQuery.java:523) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) at com.redis.om.spring.repository.query.RediSearchQuery.executeQuery(RediSearchQuery.java:509) at com.redis.om.spring.repository.query.RediSearchQuery.execute(RediSearchQuery.java:384) at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:170) at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:158)

image image
bsbodden commented 3 months ago

Can you post the code, please?

GohKianSeng commented 3 months ago

hi @bsbodden i created a gradle project with docker file.

  1. u can start the docker-compose file
  2. start springboot project
  3. call testcontroller api
  4. should have the error like my screenshot

debug.zip

image