작성
·
319
2
"org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class jpashops.ormonetwocombine.dto.RequestItemDto]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `jpashops.ormonetwocombine.dto.RequestItemDto`
포스트맨 에러입니다
답변 1
2
안녕하세요. woojin126님, 공식 서포터즈 OMG입니다.
Jackson은 Post요청시 Jackson2HttpMessageConverter이 데이터를 처리하는데요, 내부적으로 ObjectMapper를 사용합니다. ObjectMapper는 기본생성자와 getter 혹은 setter 혹은 public field를 보고 property명을 찾습니다. 그래서 기본생성자와 getter만 있어도 prorperty명을 찾아 값을 주입시켜줄 수 있습니다.
그럼 궁금해 하시는 "기본생성자는 왜 필수인가?"에 대해 잘 정리된 글 링크 공유합니다.
@RequestBody에 왜 기본 생성자는 필요하고, Setter는 필요 없을까?
감사합니다.
정말 좋은 포스트 공유해주셔서 감사합니다!