現在、Jackson 1.4.2 を使用しcode
ており、UI から Java コントローラー (サーブレット) に戻される値 (型情報の一意の識別子) の逆シリアル化を試みています。
複数の型 (ABCType
などXYZType
) がすべて から拡張されてAbstractType
いますが、それぞれの具体的な型には、単一のパラメーターとして一意の識別子を取り、型オブジェクト (名前、関連付けられた型、説明、有効な頭字語など) その識別子によって表されます。各具象型 (例: XYZType
) 内の静的メソッドには、次の注釈が付けられ@JsonCreator
ます。
@JsonCreator
public static XYZType getInstance(String code) {
.....
}
私が見ている問題は、Jackson のマッパーが json をこれらの型に逆シリアル化しようとして例外をスローすることです。
原因: org.codehaus.jackson.map.JsonMappingException: 型 [単純型、クラス com.company.type.XYZtype] のデフォルト コンストラクターが見つかりません: Json オブジェクトからインスタンス化できません。
静的ファクトリ メソッドへの注釈について、ここで何が欠けています@JsonCreator
か (または、Jackson 1.4.2 が から拡張された具体的な型に苦労しているためAbstractType
ですか?)?