generated from pricelees/issue-pr-template
41 lines
1.4 KiB
Java
41 lines
1.4 KiB
Java
package roomescape.system.config;
|
|
|
|
import java.time.LocalDate;
|
|
import java.time.LocalTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
|
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
|
|
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
|
|
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
|
|
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
|
|
|
|
@Configuration
|
|
public class JacksonConfig {
|
|
|
|
@Bean
|
|
public ObjectMapper objectMapper() {
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
objectMapper.registerModule(javaTimeModule());
|
|
return objectMapper;
|
|
}
|
|
|
|
@Bean
|
|
public JavaTimeModule javaTimeModule() {
|
|
JavaTimeModule javaTimeModule = new JavaTimeModule();
|
|
|
|
javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ISO_LOCAL_DATE));
|
|
javaTimeModule.addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ISO_LOCAL_DATE));
|
|
|
|
javaTimeModule.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern("HH:mm")));
|
|
javaTimeModule.addDeserializer(LocalTime.class,
|
|
new LocalTimeDeserializer(DateTimeFormatter.ofPattern("HH:mm")));
|
|
|
|
return javaTimeModule;
|
|
}
|
|
}
|