[ Spring Boot ] DTO 오류 (Cannot construct instance of 'DTO')

jwkwon0817·2023년 9월 2일
0

Web Back-end

목록 보기
10/26
post-thumbnail

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을 사용하지 않는다면 그냥 기본 생성자를 만들어주기만 하면 됩니다.

profile
SRIHS 119th SW

0개의 댓글