【发布时间】: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