jackson은 java.lang reflection 라이브러리를 사용한다.
→ _constructor.newInstance()를 사용하여, 생성한다. newInstance()는 기본생성자를 필요로 하므로, 이 경우 역직렬화 대상에 기본생성자를 추가하여야 한다.
@Override
public final Object call() throws Exception {
return _constructor.newInstance();
}
→ _constructor.newInstance(Object[] args) 또는 _constructor.newInstance(Object arg) 등을 사용하여 생성한다.
@Override
public final Object call(Object[] args) throws Exception {
return _constructor.newInstance(args);
}
@Override
public final Object call1(Object arg) throws Exception {
return _constructor.newInstance(arg);
}
이 경우 @JsonCreator를 사용하여 원하는 생성자 또는 팩토리 메서드에 붙여주어야 한다.
자세한 사용방법은 주석에 나와있다.
@JsonCreator를 사용하지 않으면, 기본 생성자를 붙여주어야 역직렬화를 할 수 있다.
참고자료: