I am trying to return a model to rest api get call in which the timestamp format is different
"created_at": {
"date": {
"year": 2020,
"month": "OCTOBER",
"day": 16,
"dayOfMonth": 16,
"dayOfWeek": "FRIDAY",
"era": "CE",
"dayOfYear": 290,
"leapYear": true,
"monthValue": 10,
"chronology": {
"id": "ISO",
"calendarType": "iso8601"
}
},
"time": {
"hour": 21,
"minute": 3,
"second": 17,
"nano": 870000000
},
"month": "OCTOBER",
"year": 2020,
"dayOfMonth": 16,
"dayOfWeek": "FRIDAY",
"dayOfYear": 290,
"monthValue": 10,
"hour": 21,
"minute": 3,
"nano": 870000000,
"second": 17,
"chronology": {
"id": "ISO",
"calendarType": "iso8601"
}
},
I want the timestamp format as "created_at" : "2020-10-06T05:45:14.847Z"
Model format
@Column(name = "CREAT_TS", updatable = false)
@Type(type = Constants.LOCAL_DATE_TIME)
@JsonProperty("created_at")
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
private LocalDateTime createdTimestamp;
I have jackson-datatype-jsr310 in my classpath and registered joda module in objectmapper
ObjectMapper objectMapper = new ObjectMapper()
.registerModule(new ParameterNamesModule())
.registerModule(new JodaModule())
.registerModule(new Jdk8Module())
.registerModule(new JavaTimeModule())
.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)
.setSerializationInclusion(JsonInclude.Include.NON_NULL)
.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY)
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);