【发布时间】:2019-06-03 18:40:29
【问题描述】:
似乎无法弄清楚这一点。我不断收到各种错误,所以我将用我从 Jackson 那里得到的当前错误来写这个。
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 {
}
在其他包中我有这三个:
public class ResponseTypeOne extends Response {
private Integer status;
}
public class ResponseTypeTwo extends Response {
private String message;
}
public class ResponseTypeThree extends Response {
private String value;
}
错误:
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')
我已经尝试了这个@JsonTypeInfo 与各种includes 和各种property 以及Id.CLASS 的各种迭代,但没有运气。
【问题讨论】:
标签: spring-boot jackson jackson-databind