I want to implement a custom validator in a Spring Boot v1.5.14.RELEASE app. First I create a custom constraint annotation:
I have this object:
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@SuperBuilder
public class Hotel {
@JsonFormat(pattern = "yyyy-MM-dd")
private OffsetDateTime interactionDurationStart;
@JsonFormat(pattern = "yyyy-MM-dd")
private OffsetDateTime interactionDurationEnd;
}
in the yml:
spring:
jackson:
mapper:
DEFAULT_VIEW_INCLUSION: true
serialization:
WRITE_DATES_AS_TIMESTAMPS: false
and in my configuration file:
@Primary
@Bean
public ObjectMapper objectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
//objectMapper.registerModule(new JavaTimeModule());
SimpleModule simpleModule = new SimpleModule();
simpleModule.addSerializer(OffsetDateTime.class, new JsonSerializer<OffsetDateTime>() {
@Override
public void serialize(OffsetDateTime offsetDateTime, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
jsonGenerator.writeString(DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(offsetDateTime));
}
});
objectMapper.registerModule(simpleModule);
return objectMapper;
}
but this is what i see in the API response
"interactionDurationEnd" : {
"offset" : {
"totalSeconds" : 7200,
"id" : "+02:00",
"rules" : {
"transitionRules" : [ ],
"transitions" : [ ],
"fixedOffset" : true
}
},