프로젝트 3일차

sung eon·2022년 6월 29일
2

미니프로젝트

목록 보기
2/21

오류났던거 정리

1. PUT (수정) API 오류

ARC에서 PUT 기능 잘 구현되었는지 확인하기위해 Body 값을 날렸는데, 400 ERROR가 났다. 인텔리제이 콘솔에서 확인해보니까 JSON parse error: Cannot construct instance of 어쩌구 라는 에러가 났었다.

해결:
저 뒤에 문구보면 어디에 에러 났는지 뜨는데, 나 같은 경우는 CommentUpdateRequestDto, CommentUpdateResponseDto 에 기본 생성자 어노테이션 @NoArgsConstructor 추가해주니까 됐다!


2. @Builder 어노테이션 오류

CommentReadResponseDto에서 @Builder 사용시 에러가 났다.

원인:
@NoArgsConstructer를 같이 사용해서 이다.
객체를 아무렇게나 new로 생성하는 걸 막으려고 @NoArgsConstructer(access=AccessLevel.PROTECTED)를 자주 사용해서 이런 애러가 뜬다.
@Builder 사용시 모든 요소가 포함된 생성자가 생성되므로 따로 생성자를 안해도 된다.

해결방법:
1. 모든 요소로 생성자를 만들어주는 @AllArgsConstructer를 추가해서 사용하면 된다.

@Builder
@@NoArgsConstructer(access=AccessLevel.PROTECTED)
@AllArgsConstructer
public class Member {
   ...
}
  1. 필요한 부분만 생성자를 따로 만들어주고 @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;
   }
}
profile
코베베

0개의 댓글