jackson-module-jsonSchema
jackson-module-jsonSchema copied to clipboard
JsonFormat not supported?
Entity:
public class Wound {
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss", timezone = "UTC")
@JsonProperty("createdAt")
@JsonPropertyDescription("A date time object w/o timezone.")
@NotNull
private LocalDateTime createdAt;
}
When I generate with JavaTimeModule()
, I get an array of integer in the json schema:
ObjectMapper objectMapper = new ObjectMapper();
.registerModule(new JavaTimeModule());
JsonSchemaGenerator jsonSchemaGenerator = new JsonSchemaGenerator(objectMapper);
JsonNode jsonSchema = jsonSchemaGenerator.generateJsonSchema(Wound.class);
String jsonSchemaAsString = objectMapper.writeValueAsString(jsonSchema);
"createdAt": {
"type": "array",
"items": {
"type": "integer"
},
"description": "A date time object w/o timezone."
}
When I omit the JavaTimeModule
, I a get a LocalDateTimeObject with Java members:
"LocalDateTime": {
"type": "object",
"additionalProperties": false,
"properties": {
"dayOfYear": {
"type": "integer"
},
"dayOfWeek": {
"type": "string",
"enum": [
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY",
"SATURDAY",
"SUNDAY"
]
},
"year": {
"type": "integer"
},
...
EXPECTED RESULT:
"dateTime": {
"description": "A date time object w/o timezone.",
"type": "string",
"format": "date-time",
"javaType": "java.time.LocalDateTime",
"customDateTimePattern" : "yyyy-MM-dd'T'HH:mm:ss"
}