문제

객체를 JSON 응답으로 내려줄 때 아래와 같은 필드가 있다면 is가 생략됩니다.

private boolean isUse;
{
		"use": true
}

또한 @JsonProperty 를 이용해 value에 json에 매핑 될 key값을 지정한다면 둘 다 출력이 됩니다.

@JsonProperty(value = "isUse")
private boolean isUse;
{
		"use": true
		"isUse": true
}

원인

해당 문제의 원인은 Spring의 @Lombok 때문입니다.

Lombok 은 boolean 타입일 때 변수의 prefix 가 is 인 경우 getIsNew() 대신, isNew() 라고 get 메소드를 만듭니다.

해결 방법

해결 방법은 사실 간단합니다.

컬럼의 타입을 Primitive Type이 아니라 Reference Type으로 바꿔주면 됩니다.

boolean -> Boolean