【问题标题】:Strict parsing into POJOs with KMongo使用 KMongo 严格解析成 POJO
【发布时间】:2020-04-30 09:21:24
【问题描述】:

当我 find 我的集合中的文档并将它们解析为 POJO 时,我希望看到与我的 POJO 不对应的异常,如果 MongoDB 中有其他可用的键。 找不到配置它的方法。

我在做什么

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

有人知道怎么做吗?

【问题讨论】:

    标签: mongodb kotlin kmongo


    【解决方案1】:

    例如,您必须在 JsonConfiguration 中指定 strictMode = true

    install(ContentNegotiation) {
        serialization(
            contentType = ContentType.Application.Json,
            json = Json(
                JsonConfiguration(
                    strictMode = true,
                    prettyPrint = true
                )
            )
        )
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-27
      • 2016-06-24
      • 1970-01-01
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多