Jackson Fail to Deserialize Request Body due to no Creators, like default constructor, exist in Kotlin Spring

I received error upon Jackson request deserialization as the destination class written below

data class FooRequest(val param1: String)

Actually this issue easily solved by add @JsonProperty annotation, also the reason that Jackson needs a no-args constructor is understandable. But I’m a bit curious, how can such error doesn’t occurring when the destination class contains more than one property, like

data class BarRequest(val param1: String, val param2: String)

somehow Jackson successfully deserialize the request into BarRequest class

I had similar problem. In my case it was caused because the project was missing jackson-module-kotlin dependency.