In the generated Kotlin data classes there is no use-site target specified on the @JsonProperty annotation. Since constructor paramters are used, Jackson does not recognize this annotation because it is only scanning for field and getter/setter annotations.
In my case im having problems with a property which should be serialized as eMailAddress, but with the default bean naming strategy of Jackson, the serialized property is called emailAddress.
OpenAPI declaration file
openapi: 3.0.1
info:
title: Test API
version: v1
paths:
/test:
post:
tags:
- User
operationId: createUser
requestBody:
description: The data for the account creation.
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/UserInfo'
responses:
'201':
description: The account was created.
components:
schemas:
UserInfo:
required:
- eMailAddress
type: object
properties:
eMailAddress:
maxLength: 256
type: string
description: The email address of the user.
description: request object
Actual generated data class
data class UserInfo(
@get:NotNull @get:Size(max=256)
@JsonProperty("eMailAddress") val eMailAddress: kotlin.String
) {}
Expected generated data class
data class UserInfo(
@get:NotNull @get:Size(max=256)
@field:JsonProperty("eMailAddress") val eMailAddress: kotlin.String
) {}
I'm using the current version 4.3.0 of the generator.
In the generated Kotlin data classes there is no use-site target specified on the @JsonProperty annotation. Since constructor paramters are used, Jackson does not recognize this annotation because it is only scanning for field and getter/setter annotations.
In my case im having problems with a property which should be serialized as
eMailAddress, but with the default bean naming strategy of Jackson, the serialized property is calledemailAddress.OpenAPI declaration file
Actual generated data class
Expected generated data class
I'm using the current version 4.3.0 of the generator.