【发布时间】:2020-08-12 21:53:37
【问题描述】:
在我的 quarkus 应用程序中,我有一个接收 DTO 的端点,其字段具有默认值。当我不发送该字段时,我仍然会收到异常
com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of
`FooDTO`, problem: Parameter specified as non-null is null: method
io.otherstuff.FooDTO.<init>, parameter someListVariable
at [Source: (io.quarkus.vertx.http.runtime.VertxInputStream); line: 4, column: 1]
类如下所示:
class FooDTO(
override var someStringVar: String,
override var someListVariable: List<Int> = emptyList(),
): BarDTO
---------------------------------------------
interface BarDTO {
var someStringVar: String
var someListVar: List<Int>
}
现在,如果我发送这样的有效负载
{
"someStringVar": "Hello Stackoverflow",
"someListVar": []
}
它工作得很好,但是当我删除"someListVar" 时,我从上面得到了异常,即使它应该只是将它初始化为一个空列表。
非常感谢任何帮助!
【问题讨论】: