Spring에서 REST API를 개발하다 보면 가끔 마주치는 오류입니다.
다들 알다시피 Spring에서는 객체(DTO)를 전달하면 JSON으로 변한됩니다.
이 JSON으로 바꾸는 작업을 Jackson의 ObjectMapper가 하게 되는데, ObjectMapper를 실행하기 위해서는 객체의 기본 생성자가 필요합니다.
따라서 다음과 같은 DTO가 있다고 가정해 보겠다.
import lombok.Getter;
import lombok.Setter;
import lombok.AllArgsConstructor;
@Getter
@AllArgsConstructor
public class ProfileDto {
private String name;
private Integer age;
}
이런 코드에서 위와 같은 오류가 생긴다면 다음과 같은 해결책을 사용하여 해결할 수 있습니다.
import lombok.Getter;
import lombok.Setter;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class ProfileDto {
private String name;
private Integer age;
}
만약 lombok을 사용하지 않는다면 그냥 기본 생성자를 만들어주기만 하면 됩니다.