jackson을 사용하여 json을 객체로 바꿀 때, 객체의 no argument constructor(기본 생성자)는 필수인가?
→JsonProperty를 쓰지 않는 이상, no argument constructor는 필수다.
→ 에러가 난다.
→ 성공적으로 json이 객체로 변환되었다.
→ 성공적으로 json이 객체로 변환되었다.
-> Nulls.AS_EMPTY 전략을 사용하고 있다. 그리고 Outer class는 Inner class라는 bean을 필드로 가지고 있다.
deserializing 과정에서 에러가 나타났다.
-> deserialize 되어야하는 필드 객체(inner class)에 no argument constructor를 추가한다.
성공적으로 json에서 Outer class로 객체화했다.
Nulls_As_empty 전략을 사용했을 때, BeanDeserializer는 no argument constructor가 있는지 검사한다.
만약 없으면 에러를 낸다.
https://github.com/FasterXML/jackson-databind/blob/master/src/test/java/com/fasterxml/jackson/failing/AsEmptyPOJONoDefaultCtor2572Test.java
** 예제 코드는 Jackson-databind 프로젝트의 AsEmptyPOJONoDefaultCtor2572Test 코드를 바꾼 것입니다.
왜 빈 생성자가 필요한건지에 대해서도 한번 알아보세요.
(모르시면 물어봐주시구요)