我使用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
1条答案
按热度按时间q43xntqr1#
我也遇到了同样的错误,注册KotlinJackson模块后,它就为我修复了:https://github.com/FasterXML/jackson-module-kotlin