@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와 동일한 필드에 정상 매핑 가능
- 직렬화 정상 동작