algolia / algolia/algoliasearch-client-java

AlgoliaException: Error while deserialization the response

未关闭
#495 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Java
星标
52
派生
33
PR 合并指标
30 天内没有已合并 PR

描述

- Algolia Client Version: 2.17.3
- Language Version: Kotlin 1.2.51

### Description
```
com.algolia.search.exceptions.AlgoliaException: Error while deserialization the response
at com.algolia.search.http.AlgoliaHttpClient.requestWithRetry(AlgoliaHttpClient.java:173)
at com.algolia.search.APIClient.addObject(APIClient.java:698)
at com.algolia.search.SyncObjects.addObject(SyncObjects.java:34)
at com.algolia.search.SyncObjects.addObject(SyncObjects.java:22)
at eu.newsapp.backend.algolia.AlgoliaKt.publishToAlgolia(algolia.kt:61)
at eu.newsapp.backend.daemon.DaemonKt.execDaemon(daemon.kt:167)
at eu.newsapp.backend.daemon.DaemonKt.access$execDaemon(daemon.kt:1)
at eu.newsapp.backend.daemon.DaemonKt$startDaemon$$inlined$fixedRateTimer$1.run(Timer.kt:151)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "position" (class com.algolia.search.responses.AlgoliaError), not marked as ignorable (one known property: "message"])
at [Source: (InputStreamReader); line: 1, column: 121] (through reference chain: com.algolia.search.responses.AlgoliaError["position"])
at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:822)
at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1152)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1582)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1560)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:294)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4001)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3051)
at com.algolia.search.Utils.parseAs(Utils.java:54)
at com.algolia.search.http.AlgoliaHttpClient.requestWithRetry(AlgoliaHttpClient.java:150)
... 9 more

```

### Steps To Reproduce
Use this code:
https://gerogit.eu/eunify/backend/blob/master/src/eu/newsapp/backend/algolia/algolia.kt#L61-79

贡献指南

这个仓库没有索引到贡献指南

调研方向

从 AlgoliaHttpClient.java 和通过 Utils.parseAs 引用的 AlgoliaError 反序列化路径开始,然后跟踪 APIClient.java 中的 addObject 调用。复现 issue 中描述的响应,并验证包含 position 字段的错误能够在不发生反序列化失败的情况下得到处理。

由索引模型根据 Issue 内容生成。

评估

技术栈
java, kotlin
领域
api
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
停滞
描述清晰度
需要澄清
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。