본문 바로가기

json2

[Java] 공통 적용 JsonDeserializer 만들어 보기 개요외부 api와 통신하여 작동하는 기능 개발 시, 외부에서 리턴되는 상태 코드 등을 애플리케이션 내부에서 사용하려고 하면 해당 코드를 활용하는데 어려움을 겪고는 한다. 아래는 카카오톡 비즈메시지 센터 API 중, 알림톡 템플릿 정보 조회 결과에 대한 리턴값 중 일부이다.  위와 같이 검수 결과가 REG, REQ 등과 같은 한 눈에 의미를 알 수 없는 약어로 축약되어 리턴되는데, 이를 애플리케이션 내부에서 원활하게 사용하기 위해서는 Enum을 선언하고 외부 api 결과값을 해당 Enum에 매핑하여 사용할 수 있다. public interface KakaoCommonType { T getCode(); String getTitle();}@RequiredArgsConstructorpublic en.. 2024. 9. 23.
Jackson 라이브러리의 직렬화/역직렬화 api 개발을 하다보면 자바 객체를 json으로 직렬화 하고 json으로 들어온 요청을 자바 객체로 역직렬화 하는 일이 빈번하게 일어난다. 서버에서 데이터를 처리해 Dto에 담아 클라이언트로 응답하면 내부적으로 Jackson의 ObjectMapper를 이용하여 자바 객체를 json으로 직렬화 하는데, 자바 객체에는 없던 필드가 요청에 담겨 리턴되는 경우가 생길 수 있다. 이번 포스트에서는 이러한 현상의 원인을 제공하는 Jackson 라이브러리의 직렬화/역직렬화에 대해 정리한다. 예시 public class User { public String name; public Integer age; public User(String name, Integer age) { this.name = name; this.ag.. 2022. 9. 21.