@Reqeust 어노테이션을 적용한 DTO에서 boolean 데이터를 제대로 전달 받지 못하는 문제가 발생
원인
lombok 제공 어노테이션 @Getter 와 @Setter 사용시 자동으로 getter/setter 메서드 생성해줌. 이때, boolean 타입의 변수에 붙는 prefix는 get이 아닌 is로 생성되어@RequestBody에서 찾을 수 없어 바인딩 되지 않아 문제 발생
boolean 변수에 is prefix를 붙여놓은 상태에서 @Getter 어노테이션 사용시 내부적으로 isIsVisible() 같은 이상한 네이밍 메서드 생성. @RequestBody에서 바인딩에 사용하는 Jackson 라이브러리의 ObjectMapper에서 필드를 찾을 수 없어서 바인딩 되지 않아 DTO에 정상적으로 값이 입력되지 않았음
문제
원인
해결방안 (1)
private Boolean isVisible = false;
에서private Boolean visible = false;
로 변경해결방안 (2)