【问题标题】:ArangoDB Spring Data 2, java.lang.Object / invalid map typeArangoDB Spring Data 2,java.lang.Object / 无效的地图类型
【发布时间】:2018-11-10 04:46:03
【问题描述】:

我最近升级到 Spring Boot 2(因此也升级到 Spring data 2)并拥有最新的 Arango java 驱动程序和 arango-spring-data 版本(分别为 5.0.1 和 3.1.1)

我现在在获取 java.lang.Object 类型的属性时遇到问题

我收到此错误

.... due to HttpClientErrorException: {"status":"BAD_REQUEST","timestamp":"2018-11-10 17:20:07","message":"Bad request. The server cannot complete the request as it is invalid.","detailMessage":"Unsupported Map type: java.lang.Object","invalidParameters":[]}

我可以在DefaultArangoConverter 中看到,如果类型是 Object,则它被视为地图...

if (typeToUse.isMap() || ClassTypeInformation.OBJECT.equals(typeToUse)) {
    return readMap(typeToUse, source);
}

....

readMap(..)

final Map<Object, Object> map = CollectionFactory.createMap(type.getType(), keyType, source.size());

CollectionFactory 用于制作“地图”——它并不快乐。

CollectionFactory.java
} else if (!Map.class.isAssignableFrom(mapType)) {
  throw new IllegalArgumentException("Unsupported Map type: " + mapType.getName());

还有人知道吗? 我可能配置不正确,但我使用的是开箱即​​用的配置。

更新: 如果类型是Map,它可以正常工作,但如果地图包含地图(即在“值”之一中)我会得到同样的错误。

【问题讨论】:

    标签: java spring-boot spring-data arangodb


    【解决方案1】:

    这是 arangodb-spring-data 当前版本中的一个错误。

    我已经在 github 上创建了一个 PR 来修复它。

    【讨论】:

    • 谢谢你,超快的反应!
    猜你喜欢
    • 2014-07-11
    • 1970-01-01
    • 2018-07-12
    • 2021-10-26
    • 2021-02-11
    • 2020-04-25
    • 1970-01-01
    • 2017-07-15
    • 2020-04-23
    相关资源
    最近更新 更多