我目前使用傑克遜1.4.2並嘗試反序列化code
值(類型信息的唯一標識符),這些值從我們的UI傳遞迴Java控制器(Servlets)。傑克遜不承認@JsonCreator註釋
有多種類型(例如ABCType
,XYZType
等),所有從AbstractType
延伸,但是每個具體類型具有靜態工廠方法,該方法作爲一個參數,一個唯一的標識符,並返回型對象(名稱,關聯類型,描述,有效首字母縮略詞等)。每個具體類型中的靜態方法(如XYZType
)標註有@JsonCreator
:
@JsonCreator
public static XYZType getInstance(String code) {
.....
}
,我雖然看到的問題是由傑克遜的映射器嘗試反序列化JSON這些類型拋出一個異常:
引起:org.codehaus.jackson.map.JsonMappingException:找不到類型爲[簡單類型,類com.company.type.XYZtype]的默認構造函數:無法從Json對象實例化。
我錯過了@JsonCreator
註釋靜態工廠方法(或它與傑克遜做1.4.2從AbstractType
延長了具體類型掙扎?)這裏?