ArangoDB Spring Data 2, java.lang.Object / неверный тип карты - PullRequest
0 голосов
/ 10 ноября 2018

Я недавно обновился до Spring Boot 2 (и, следовательно, Spring data 2), и у меня установлены последние версии Java-драйверов Arango и 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 голосов
/ 12 ноября 2018

Это ошибка в текущей версии arangodb-spring-data.

Я уже создал PR на github, который исправляет его.

...