JACKSON

박진선·2024년 8월 26일
0
post-custom-banner

@RequestBody 사용 시 jackson 2.15.3 이상 버전 매핑 정리

Getter, 기본생성자 or private 기본생성자

  • 역직렬화 대상 클래스 필드 개수와 상관 없이 정상 매핑 가능
  • 역직렬화 대상 클래스 필드 순서와 JSON 데이터 필드의 순서가 맞지 않더라도, json key와 동일한 필드에 정상 매핑 가능
  • 직렬화 정상 동작

Getter, AllArgsConstructor, 기본생성자x

  • 역직렬화 대상 클래스 필드가 하나일 경우 역직렬화 불가능 HttpMessageNotReadableException 발생
  • 역직렬화 대상 클래스 필드가 2개 이상일 경우 역직렬화 대상 클래스 필드 순서와 JSON 데이터 필드의 순서가 맞지 않더라도, json key와 동일한 필드에 정상 매핑 가능
  • 직렬화 정상 동작

Setter, 기본생성자 or private 기본생성자

  • 역직렬화 대상 클래스 필드 개수와 상관 없이 정상 매핑 가능
  • 역직렬화 대상 클래스 필드 순서와 JSON 데이터 필드의 순서가 맞지 않더라도, json key와 동일한 필드에 정상 매핑 가능
  • 직렬화 불가능 HttpMediaTypeNotAcceptableException 발생

Setter, AllArgsConstructor, 기본생성자x

  • 역직렬화 대상 클래스 필드가 하나일 경우 역직렬화 불가능 HttpMessageNotReadableException 발생
  • 역직렬화 대상 클래스 필드가 2개 이상일 경우 역직렬화 대상 클래스 필드 순서와 JSON 데이터 필드의 순서가 맞지 않더라도, json key와 동일한 필드에 정상 매핑 가능
  • 직렬화 불가능 HttpMediaTypeNotAcceptableException 발생

public 필드, 기본생성자 or private 기본생성자

  • 역직렬화 대상 클래스 필드 개수와 상관 없이 정상 매핑 가능
  • 역직렬화 대상 클래스 필드 순서와 JSON 데이터 필드의 순서가 맞지 않더라도, json key와 동일한 필드에 정상 매핑 가능
  • 직렬화 정상 동작

public 필드, AllArgsConstructor, 기본생성자x

  • 역직렬화 대상 클래스 필드가 하나일 경우 역직렬화 불가능 HttpMessageNotReadableException 발생
  • 역직렬화 대상 클래스 필드가 2개 이상일 경우 역직렬화 대상 클래스 필드 순서와 JSON 데이터 필드의 순서가 맞지 않더라도, json key와 동일한 필드에 정상 매핑 가능
  • 직렬화 정상 동작
profile
주니어 개발자 입니다
post-custom-banner

0개의 댓글