- 역직렬화
- 역직렬화(Deserialization)는 데이터 구조나 객체 상태를 저장한 파일 또는 데이터에서 복원하는 과정
- 네트워크를 통해 전송되거나 파일에 저장된 바이트 스트림을 원래의 객체로 변환
- 역직렬화의 중요성
- 애플리케이션 간에 안전하게 전송,저장시 필수적
- 데이터를 전송할 때 JSON, XML 등의 형식으로 직렬화하여 전송하고,
클라이언트에서는 이 데이터를 받아 역직렬화하여 사용
- 역직렬화의 위험성
- 데이터 코드 내에서 객체로 변환 시, 역직렬화 과정을 통해 시스템 내부에서 에러 발생 가능
- 역직렬화 방지 전략
- 입력 데이터의 검증, 신뢰할 수 있는 데이터만 역직렬화 처리
- 역직렬화 과정에서 발생할 수 있는 예외를 적절히 처리
문제 상황
LocalDateTime 객체를 JSON 형식으로 변환할 때,
표준 JSON 라이브러리는 LocalDateTime 형식을 자동으로 인식하고 처리하지 못하여
역직렬화 과정에서 예외 발생
해결방법
직렬화 및 역직렬화 모듈 사용: JavaTimeModule 를 .redisConfig에 등록
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JavaTimeModule());