Jackson 라이브러리를 활용한 JSON 직렬화/역직렬화 어노테이션 심층 가이드

Java 애플리케이션에서 JSON 데이터를 효율적으로 처리하기 위해 Jackson 라이브러리는 광범위하게 사용됩니다. Jackson은 객체를 JSON 문자열로 변환(직렬화)하거나 JSON 문자열을 객체로 변환(역직렬화)하는 과정을 매우 유연하게 제어할 수 있는 다양한 어노테이션을 제공합니다. 이 가이드에서는 주요 Jackson 어노테이션의 기능과 활용 방법을 자세히 살펴봅니다. @J ...

6월 30일 16:12에 게시됨

Jackson과 커스텀 어노테이션을 활용한 API 응답 데이터 마스킹 구현

1. 데이터 마스킹 유형 및 커스텀 어노테이션 정의 API 응답에서 민감한 정보를 자동으로 숨기기 위해 Jackson의 직렬화 프로세스에 개입할 수 있는 커스텀 어노테이션을 생성합니다. @JacksonAnnotationsInside를 사용하여 메타 어노테이션으로 구성하며, 마스킹 규칙을 세부적으로 설정할 수 있도록 속성을 추가합니다. public enum MaskingType { CUSTOM, NAME ...

6월 18일 17:55에 게시됨

Spring MVC에서 JSON 데이터 처리 방법

웹 애플리케이션 개발 초기에는 PHP나 JSP와 같은 서버 사이드 기술을 주로 사용했으며, 클라이언트와의 데이터 교환은 주로 GET 또는 POST 방식으로 단순한 키-값 형태의 파라미터를 전달하는 데 그쳤다. 서버는 이러한 요청을 받아 비즈니스 로직을 처리한 후 HTML 문서를 생성하여 응답했다. 즉, 대부분의 데이터 처리와 구조화된 정보의 흐름은 서버 내부에서 이뤄졌고 ...

6월 4일 16:04에 게시됨

프론트엔드 빈 문자열이 유발하는 백엔드 Long 타입 JSON 파싱 오류 및 해결책

API 요청 시 발생하는 알 수 없는 500 오류 폼 데이터를 저장하는 기능을 개발하던 중, API 요청이 실패하며 다음과 같은 응답을 받는 상황이 발생할 수 있습니다. { "status": 500, "error": "Invalid JSON format", "success": false } 요청 페이로드를 확인해 보면 다음과 같이 비어 있는 문자열이 포함된 것을 볼 수 있습니다. { "documentId": 2048, "docum ...

6월 3일 16:23에 게시됨

스프링 부트에서 전역 시간 형식화를 위한 3가지 방법

@JsonFormat 어노테이션 개별 필드에 적용되는 방식으로, 전역 설정이 아닌 특정 엔티티의 시간 필드만 포맷팅합니다. DTO 클래스의 필드에 직접 어노테이션을 선언하여 사용합니다. @Data public class PaymentRecord { @JsonFormat(locale = "ko", timezone = "Asia/Seoul", pattern = "yyyy-MM-dd") private LocalDateTime paymentDate; @JsonFormat(loca ...

5월 29일 08:52에 게시됨