ReactiveMongoRepository не может десериализовать интерфейсы - PullRequest
0 голосов
/ 24 февраля 2020

Я использую Spring Boot 2, Reactive Mon go Repository, и у меня есть следующая структура данных:

  1. 2 перечислимых класса и интерфейс, потому что перечисления не допускают никакого другого типа наследования
interface TypeAB

enum class TypeA : TypeAB {
    A_OR_B, C_OR_D
}

enum class TypeB : TypeAB {
    A, B, C, D
}
моя сущность, которая должна принимать и TypeA, и TypeB для одного и того же поля (поэтому был введен интерфейс TypeAB)
data class MyEntity(val name: String, val type: TypeAB)

(идея заключается в том, что сначала значения типа не являются точными, и следует использовать TypeA, а затем после уточнения можно использовать TypeB)

Проблема в том, что в этом случае объект не может быть десериализован, когда я хочу получить данные из БД. Это мое сообщение об ошибке

{"No converter found capable of converting from type [java.lang.String] to type [my.path.TypeAB]"}

Есть ли еще способ сохранить мою структуру организованной и не получить ошибку хранилища?

...