본문 바로가기
에러 기록

[에러 기록] HttpMessageNotReadableException: JSON parse error

by Bhinney 2023. 1. 9.
HttpMessageNotReadableException: JSON parse error: Cannot construct instance of `org.study.boardProject.dto.CommentDto$Patch` (although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `org.study.boardProject.dto.CommentDto$Patch` (although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator)<EOL> at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 2, column: 5]]

스프링 스터디를 하면서 댓글 구현을 하는 과정에서 발생하였다.

 

댓글 수정을 하는데, 계속해서 역직렬화가 안된다는 에러가 떴다.

 

그래서 찾아보았는데, 나와 상황이 다른 사람들의 케이스만 존재했다.

 

그때 하나의 기억이 떠올랐다.

 

프리 프로젝트를 할 때, 팀원 분께서 DTO의 필드가 하나면 에러가 발생한다고 했던 기억이었다.

 

그 당시의 코드를 찾아보고, @JsonCreator와 @JsonProperty를 붙여주었더니 해결이 되었다!

public class CommentDto {

   ...

   @Getter
   public static class Patch {
      private String content;

      @JsonCreator
      public Patch(@JsonProperty("content") String content) {
         this.content = content;
      }
   }

   ...
}

 


 

댓글