[JPA] JSON 직렬화 속성명 커스텀 설정하기

koline·2024년 4월 30일

JPA

목록 보기
11/11

JSON 직렬화 속성명 커스텀 설정하기


API 개발 도중 특이한 현상을 마주했다. 아래와 같이 MenuEntity가 있다고 가정했을 때, Menu를 조회하는 요청을 보냈더니 응답이 이상하게 왔다.

// Menu.java
public class Menu {

    private String id;

    private String title;

    private boolean isUsed;
}
# 응답
{
	id: 1,
  	title: test_menu,
  	used: true
}

isUsed 속성의 이름에서 is가 빠져서 왔다. 이 뿐만이 아니라 다른 속성들도 is로 시작한다면 is가 빠져서 왔다.

정확한 원인은 알 수 없으나 JSON 직렬화 과정에서 속성명이 is로 시작한다면 해당 부분을 빼는 것 같았다.

그래서 is로 시작하는 속성명은 @JsonProperty 어노테이션을 붙여서 직렬화될 때 속성명을 직접 지정해줬다.

public class Menu {

    private String id;

    private String title;

    @JsonProperty("isUsed")
    private boolean isUsed;
}
# 응답
{
	id: 1,
  	title: test_menu,
  	isUsed: true
}

수정 후 정상작동 확인 되었다.

profile
개발공부를해보자

0개의 댓글