[BUG] [kotlin-spring] MissingKotlinParameterException instead of BeanValidation exception for missing required property
Created by: cthiebault
Bug Report Checklist
-
Have you provided a full/minimal spec to reproduce the issue? -
Have you validated the input using an OpenAPI validator (example)? -
What's the version of OpenAPI Generator used? -
Have you search for related issues/PRs? -
What's the actual output vs expected output? -
[Optional] Bounty to sponsor the fix (example)
Description
I defined a required property but instead of getting a bean validation exception, I get a MissingKotlinParameterException
:
com.fasterxml.jackson.module.kotlin.MissingKotlinParameterException: Instantiation of [simple type, class dto.Component] value failed for JSON property type due to missing (therefore NULL) value for creator parameter type which is a non-nullable type
at [Source: (PushbackInputStream); line: 1, column: 2] (through reference chain: dto.Component["type"])
Here is the generated DTO:
data class Component (
@get:NotNull
@ApiModelProperty(required = true, value = "")
@JsonProperty("type") val type: kotlin.String,
@ApiModelProperty(value = "")
@JsonProperty("model") val model: kotlin.String? = null
)
It seems validation is done after the dto is instantiated... and as a required field is null, it can't create a new instance of this dto.
openapi-generator version
kotlin-spring with 4.2.2
OpenAPI declaration file content or url
Component:
type: object
required:
- type
properties:
type:
type: string
model:
type: string