В настоящее время я использую Jackson 1.7, пытаясь десериализовать объект из сторонней библиотеки.
Итак, я настроил свой ObjectMapper для использования моего класса mixIn следующим образом:
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mapper.getDeserializationConfig().addMixInAnnotations(com.vividsolutions.jts.geom.Point.class, MixIn.class);
И мой класс MixIn помечен @ JsonCreator и логикой для создания там объекта Point
public class MixIn {
private static final GeometryFactory geometryFactory = GeometryFactoryFactory.getGeometryFactory();
@JsonCreator
public static Point createPoint(@JsonProperty("x")double x, @JsonProperty("y")double y) {
return geometryFactory.createPoint(new Coordinate(x, y));
}}
Но я получаю исключение
No suitable constructor found for type [simple type, class com.vividsolutions.jts.geom.Point]: can not instantiate from JSON object (need to add/enable type information?)
Отладка показывает, что мой класс MixIn никогда не вызывается, я подумал, что это должен быть конкретный класс, но у него был тот же результат.
Что я делаю не так? Что не так с моей конфигурацией?
Спасибо