ArangoDB Spring Data 2,java.lang.Object /无效的地图类型

时间:2018-11-10 04:46:04

标签: java spring-boot spring-data arangodb

我最近已升级到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,则可以正常运行,但是如果地图包含地图(即在“值”之一中),则会出现相同的错误。

1 个答案:

答案 0 :(得分:1)

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

我已经在github上创建了一个PR来对其进行修复。