Когда я создаю пользовательский класс "Актив".
public class Asset {
private UUID id;
private String name;
}
И задаю объект этого класса в качестве ответа.
@GetMapping("/testSerialization")
public Asset testSerialization() {
return new Asset()
}
Этот контроллер успешно работает.
Но когда тот же контроллер использует Geometry Types, запрос не выполняется,
import com.vividsolutions.jts.geom.Point;
// Does not work
@GetMapping("/testSerialization")
public Point testSerialization() {
GeometryFactory geometryFactory = new GeometryFactory();
Point point = geometryFactory.createPoint(new Coordinate(1, 2));
return point;
}
Я знаю, что мне нужно добавить ссылки на сериализацию и десериализацию для Джексона, либо вручную, либо с использованием библиотеки, такой как Jackson-datatype-jts , чтобы Джексон мог работать с классами Geometry
Мой вопрос: почему я должен делать это явно для типов Geomtery, тогда как мои пользовательские классы работают без манипулирования какими-либо конфигурациями?