ARC에서 PUT
기능 잘 구현되었는지 확인하기위해 Body 값을 날렸는데, 400 ERROR가 났다. 인텔리제이 콘솔에서 확인해보니까 JSON parse error: Cannot construct instance of 어쩌구 라는 에러가 났었다.
해결:
저 뒤에 문구보면 어디에 에러 났는지 뜨는데, 나 같은 경우는 CommentUpdateRequestDto, CommentUpdateResponseDto 에 기본 생성자 어노테이션 @NoArgsConstructor
추가해주니까 됐다!
CommentReadResponseDto
에서 @Builder
사용시 에러가 났다.
원인:
@NoArgsConstructer
를 같이 사용해서 이다.
객체를 아무렇게나 new로 생성하는 걸 막으려고 @NoArgsConstructer(access=AccessLevel.PROTECTED)
를 자주 사용해서 이런 애러가 뜬다.
@Builder
사용시 모든 요소가 포함된 생성자가 생성되므로 따로 생성자를 안해도 된다.
해결방법:
1. 모든 요소로 생성자를 만들어주는 @AllArgsConstructer
를 추가해서 사용하면 된다.
@Builder
@@NoArgsConstructer(access=AccessLevel.PROTECTED)
@AllArgsConstructer
public class Member {
...
}
@Builder
를 붙여준다.@@NoArgsConstructer(access=AccessLevel.PROTECTED)
public class Member {
...
@Builder
public Member(Long id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
}