LocalDateTime2 [42GG] LocalDateTime과 Timezone 이전 글 요약첫 번째 문제는 대회 스케쥴에 대한 Custom Validator에서 NullPointerException이 발생했습니다. @NotNull보다 Custom Validator가 먼저 실행되기 때문에 올바른 필드 값이 들어오지 않으면 null을 참조하게 되는 것이 원인이었습니다. 두 번쨰 문제는 Null Check하는 로직을 추가하면서 날짜 형식에 대한 Validation(@JsonFormat)을 추가했는데 해당 부분에서 데이터가 바인딩 되지 않는 문제가 추가로 발생했습니다. 프론트에서는 "yyyy-MM-dd'T'HH:mm" 패턴 형식으로 보내고, 백엔드에서는 "yyyy-MM-dd HH:mm" 형식으로 설정했기 때문이었습니다. 두 번째 문제를 해결하면서 Timezone과 관련된 문제점을 발견했.. 2024. 8. 30. [42GG] Custom Validator 실행 순서 1편: Custom Validator 실행 순서2편: LocalDateTime과 Timezone 문제 상황NullPointerException 발생프론트에서 API 테스트 중에 NullPointerException이 발생한다는 상황을 전달받았습니다. 로그를 확인해보니 리펙토링을 진행하면서 추가한 Custom Validator에서 NullPointerException이 발생하고 있었습니다. @Getter@AgendaCapacityValid@AgendaScheduleValid@NoArgsConstructor(access = AccessLevel.PROTECTED)public class AgendaCreateReqDto { // ... @NotNull @Future(message = "마감일은 현재 시간 이.. 2024. 8. 4. 이전 1 다음