44 lines
1.7 KiB
Java
44 lines
1.7 KiB
Java
package ru.soune.nocopy.configuration;
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.SerializationFeature;
|
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
|
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
|
|
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
|
|
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.context.annotation.Primary;
|
|
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDateTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
|
|
@Configuration
|
|
public class JacksonConfig {
|
|
|
|
@Bean
|
|
@Primary
|
|
public ObjectMapper objectMapper() {
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
|
JavaTimeModule javaTimeModule = new JavaTimeModule();
|
|
|
|
javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(
|
|
DateTimeFormatter.ofPattern("dd-MM-yyyy")));
|
|
|
|
javaTimeModule.addDeserializer(LocalDate.class, new LocalDateDeserializer(
|
|
DateTimeFormatter.ofPattern("dd-MM-yyyy")));
|
|
|
|
javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(
|
|
DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss")));
|
|
|
|
mapper.registerModule(javaTimeModule);
|
|
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
|
|
mapper.configure(com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
|
mapper.enable(SerializationFeature.INDENT_OUTPUT);
|
|
|
|
return mapper;
|
|
}
|
|
}
|