title: Jackson Inheritance
body: <p>Can't seem to figure this out. I keep getting various errors so I'll just write this with the current error I'm getting from Jackson.</p>
  
  <pre><code>public class ResponseDetail {
      private Response response;
  }
  
  @JsonTypeInfo(use = JsonTypeInfo.Id.NAME)
  @JsonSubTypes({
      @JsonSubTypes.Type(value = ResponseTypeOne.class, name = "ResponseTypeOne"),
      @JsonSubTypes.Type(value = ResponseTypeTwo.class, name = "ResponseTypeTwo"),
      @JsonSubTypes.Type(value = ResponseTypeThree.class, name = "ResponseTypeThree")
  })
  @JsonIgnoreProperties(ignoreUnknown = true)
  public abstract class Response {
  }
  </code></pre>
  
  <p>In other packages I have these three:</p>
  
  <pre><code>public class ResponseTypeOne extends Response {
       private Integer status;
  }
  public class ResponseTypeTwo extends Response {
      private String message;
  }
  public class ResponseTypeThree extends Response {
       private String value;
  }
  </code></pre>
  
  <p>Error:</p>
  
  <pre><code>Caused by: com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Missing type id when trying to resolve subtype of [simple type, class com.services.models.Response]: missing type id property '@type' (for POJO property 'response')
  </code></pre>
  
  <p>I have tried various iterations of this <code>@JsonTypeInfo</code> with various <code>includes</code> and various <code>property</code>'s also with <code>Id.CLASS</code> with no luck.</p>