You need to add some annotations on the constructor to tell Jackson how to build the object. The following worked for me:
public class AgentResponse<T> {
private T result;
@JsonCreator
public AgentResponse(@JsonProperty("result") T result) {
this.result = result;
}
public T getResult() {
return result;
}
}
Without the @JsonCreator
annotation, Jackson cannot know to call this constructor. And without the @JsonProperty
annotation, Jackson does not know that the first argument of the constructor maps to the result
property.