OpenAPI生成器KotlinJackson

rta7y2nd  于 2022-11-08  发布在  Kotlin
关注(0)|答案(1)|浏览(246)

我使用openapi生成器Kotlin模块从我的openapi.yaml文件生成kotlin类。该过程工作正常,直到我尝试使用Jackson将代码中接收到的JSON反序列化为一个kotlin类。
这是生成的类

data class Request (
    @field:JsonProperty("name")
    var name: kotlin.String,
)

这是我得到的错误

java.lang.IllegalArgumentException: Cannot construct instance of `...package.Request` (although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator)
 at [Source: UNKNOWN; byte offset: #UNKNOWN]

我注意到,当我在生成的代码中删除"@field:"部分时,一切都运行得很好。
现在我的问题是,我可以从生成器中删除@字段,或者让Jackson正确地反序列化它吗?
我使用的版本是

  • Jackson:2.13.1
  • 开放API生成器(Gradle插件):5.3.0
q43xntqr

q43xntqr1#

我也遇到了同样的错误,注册KotlinJackson模块后,它就为我修复了:https://github.com/FasterXML/jackson-module-kotlin

相关问题