증상: Unrecognized Property Exception
API로 JSON 데이터를 받아와 Java 엔터티로 언마샬링(객체로 맵핑), DTO 클래스에 선언되지 않은 속성이 있으면 오류 발생.
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field
해결 방법:
1. ObjectMapper를 사용하여 알 수 없는 필드 처리
ObjectMapper 객체 생성 시 옵션 설정
ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
2. 클래스 수준에서 알 수 없는 필드 처리
DTO class에 @JsonIgnoreProperties 어노테이션
- 특정 필드만 제외
@JsonIgnoreProperties({"name"})
public class Sample {
private String name;
...
}
- 선언된 필드 외에 모든 요소 제외
@JsonIgnoreProperties(ignoreUnknown = true)
public class Sample {
private String name;
...
}
ref .https://www.baeldung.com/jackson-deserialize-json-unknown-properties
'트러블슈팅 & 디버깅' 카테고리의 다른 글
[Eclipse] Eclipse Debug mode 'Source not found' problem (0) | 2022.11.17 |
---|---|
[Open Edx] Ubuntu ansible, open-edx installation error (0) | 2022.07.28 |
[DBeaver] Read only: No corresponding table column (0) | 2022.07.12 |
[Log4j 보안이슈] AWS 보안 서비스를 사용한 Log4j 취약성 보호, 탐지 및 대응 방법 (0) | 2021.12.21 |
[Eclipse] Lombok 설치 시, 이클립스 Problem 발생 (0) | 2021.08.12 |