enum2 [Java] Enum을 JSON으로 직렬화할 때 주의할 점 – @JsonValue, @JsonCreator 활용법 Spring Boot 기반 REST API에서 enum을 사용하는 경우,프론트와 JSON 데이터를 주고받을 때 직렬화(서버 → JSON), 역직렬화(JSON → 서버) 문제가 자주 발생합니다.API 응답 시 Enum.name()이 그대로 나가거나클라이언트에서 String 값을 보냈는데 Jackson이 Enum으로 못 바꾸는 경우이런 상황은 프론트와 API의 통신 오류로 이어질 수 있습니다.이번 글에서는 실무에서 자주 발생하는 Enum 매핑 이슈와이를 해결할 수 있는 @JsonValue / @JsonCreator 사용법을 정리해보겠습니다.기본 Enum 직렬화 방식은?다음과 같은 Enum이 있다고 가정합니다.public enum Status { READY, RUNNING, DONE}기본적으로 Sprin.. 2025. 6. 1. [Java] Enum을 똑똑하게 사용하는 실무 패턴 정리 ✅ 왜 Enum을 잘 써야 할까요?Java의 enum은 단순히 상수를 나열하는 기능을 넘어서,비즈니스 로직과 상태를 안전하게 표현할 수 있는 강력한 도구입니다.하지만 많은 코드에서는 여전히 if (type == A)와 같은 방식으로만 사용되고 있습니다.이번 글에서는 실무에서 Enum을 더 똑똑하게 사용하는 방법을 정리하였습니다.✅ 1. 기본적인 Enum 선언public enum OrderStatus { READY, PAID, SHIPPED, CANCELED}가장 기본적인 상태 표현 방법입니다.실무에서는 코드, 설명, DB 값 등 추가 정보가 필요한 경우가 많습니다.✅ 2. 필드와 생성자 추가하기 (코드 + 설명 포함)public enum OrderStatus { READY("R", "결제대기".. 2025. 5. 25. 이전 1 다음 반응형