ArangoDB Spring 数据 2,java.lang.Object / 无效的地图类型
ArangoDB Spring Data 2, java.lang.Object / invalid map type
我最近升级到 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 用于制作 "map" - 它不开心。
CollectionFactory.java
} else if (!Map.class.isAssignableFrom(mapType)) {
throw new IllegalArgumentException("Unsupported Map type: " + mapType.getName());
还有其他人明白吗?
我的配置可能不正确,但我使用的是开箱即用的配置。
更新:
如果类型是 Map
它工作正常,但如果地图包含地图(即在 'values' 之一)我得到同样的错误。
这是当前版本arangodb-spring-data的一个bug。
我已经在 github 上创建了一个 PR 来修复它。
我最近升级到 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 用于制作 "map" - 它不开心。
CollectionFactory.java
} else if (!Map.class.isAssignableFrom(mapType)) {
throw new IllegalArgumentException("Unsupported Map type: " + mapType.getName());
还有其他人明白吗? 我的配置可能不正确,但我使用的是开箱即用的配置。
更新:
如果类型是 Map
它工作正常,但如果地图包含地图(即在 'values' 之一)我得到同样的错误。
这是当前版本arangodb-spring-data的一个bug。
我已经在 github 上创建了一个 PR 来修复它。