Spring JSON 응답 시 boolean 타입의 is가 생략되는 문제

서버에서 다음와 같은 DTO를 클라이언트에게 응답으로 보냈을 때 is가 생략되어 "check: false"로 응답이 들어오는 문제가 일어난다면 래퍼 타입인 Boolean 타입으로 변경해주어야 한다.

@Getter
public class Dto{
	private boolean isChecked;
}

 

Boolean 타입으로 변경 시 해결되는 이유

JSON 변환 시Getter를 사용하기 때문에 Getter를 무조건 생성해야하는데, Boolean 타입을 사용하게 되면 Getter로 getIsChecked()가 생성되고, boolean 타입을 사용하면 getChecked()가 생성되기 때문에 이런 문제가 발생한 것 같다.

따라서 롬복을 사용하지 않고 getter를 직접 getIsChecked()로 생성해주면 boolean 타입을 사용해도 무관하다.

 

 

참고로 @JsonProperty로 값을 직접 지정하면 isChecked와 checked 두 개의 값이 생성되어 전달되어 제대로된 해결이 되지않는다.

'개발 > Spring' 카테고리의 다른 글

[JSP] Servlet과 Spring MVC  (0) 2024.02.07
Spring Boot html 파일 위치  (0) 2024.02.02
JPA 쿼리 방법  (0) 2024.01.28
JPA 값 타입  (0) 2024.01.28
JPA 프록시와 지연로딩  (1) 2024.01.28