Строгий анализ в POJO с KMongo - PullRequest
       19

Строгий анализ в POJO с KMongo

0 голосов
/ 13 января 2020

Когда я find документов в своих коллекциях и анализирую их в POJO, я хотел бы видеть исключения, если дополнительные ключи доступны в MongoDB, которые не соответствуют моему POJO. Не могу найти способ настроить это.

Что я делаю

data class MyPojo(var a: Int)

val mongoClient = KMongo.createClient(...)
val collection = mongoClient...
val results = collection.aggregate<MyPojo>(...)

и если в результате получается документ

{ "a": 1, "b": 2 }

Что я получу:

MyPojo(a=1)

Я бы хотел видеть исключение из вида

kotlinx.serialization.json.JsonDecodingException: Invalid JSON...: Encountered an unknown key b

Кто-нибудь знает, как это сделать?

1 Ответ

0 голосов
/ 07 февраля 2020

Вы должны указать strictMode = true в вашей JsonConfiguration, например:

install(ContentNegotiation) {
    serialization(
        contentType = ContentType.Application.Json,
        json = Json(
            JsonConfiguration(
                strictMode = true,
                prettyPrint = true
            )
        )
    )
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...