DateTime Format Response 일괄 적용
DateTime Format Response 일괄 적용
JSON으로 Response로 LocalDateTime 혹은 LocalDate처럼 시간 관련 값을 내려줄 때, 각각 format 형식을 적용하여 주는 방법이 있습니다.
- 기존: yyyy-MM-dd HH:mm:ss
- 변경: yyyy.MM.dd HH:mm:ss
만약 위 처럼 모든 시간 응답 값 포맷을 변경해야 하면 굉장히 많은 곳을 수정해야 합니다.
이런 문제를 해결하고자 Spring Boot에서는 JSON으로 변환 과정 중간에 Custom할 수 있도록 잘 설계 되어 있습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@Configuration
public class ContactAppConfig {
private static final String dateFormat = "yyyy-MM-dd";
private static final String dateTimeFormat = "yyyy-MM-dd HH:mm:ss";
@Bean
public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {
return builder -> {
builder.simpleDateFormat(dateTimeFormat);
builder.serializers(new LocalDateSerializer(DateTimeFormatter.ofPattern(dateFormat)));
builder.serializers(new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(dateTimeFormat)));
};
}
}
Spring Boot는 JSON 변환 라이브러리로 기본적으로 Jackson을 사용합니다.
위의 코드는 JSON으로 serializers할 때, LocalDateTime과 LocalDate를 지정한 format으로 변환되도록 설정 한 것입니다.
참고
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.