Develope/Java

[Jackson]UnrecognizedPropertyException 발생 원인 및 해결책

oper0116 2020. 6. 30. 12:21
반응형

Jackson Annotations을 사용하며 아래와 같은 에러가 발생하였습니다.

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "paper_title1" 

해당 에러는 JSON 데이터에는 특정 property가 존재하나, Class에는 해당 field가 존재하지 않아서 데이터를 맵핑시키지 못하여 발생하는 현상입니다.

해결책

Class 단위에서 해결하는 방법

Class에 @JsonIgnoreProperties를 선언하여 무시하도록 처리합니다.

@JsonIgnoreProperties(ignoreUnknown = true)
public class A { ... }

ObjectMapper에서 Unknown Fields 사용하는 방법

ObjectMapper 객체에 UNKNOWN_PROPERTIES를 무시하도록 직접 선언하는 방법입니다.

new ObjectMapper()
  .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)

참고자료

https://www.baeldung.com/jackson-deserialize-json-unknown-properties#3-dealing-with-unknown-fields-at-the-class-level
https://github.com/FasterXML/jackson-annotations

반응형