Глобальный конвертер регистров Apache Johnzon
Я использую TomEE8 для обслуживания JAX-RS Rest API, и по умолчанию сервер использует apache-johnzon для сопоставления json. Некоторые из моих объектов требуют специального конвертера для своих атрибутов, поэтому я создал простой конвертер.
public class ObjectIdConverter implements Converter<ObjectId> {
@Override
public String toString(final ObjectId instance) {
return instance.toString();
}
@Override
public ObjectId fromString(final String text) {
return new ObjectId(text);
}
}
и аннотировал атрибуты
@JohnzonConverter( ObjectIdConverter.class )
private ObjectId id;
Теперь я столкнулся с проблемой, что у меня есть список объектов, структура которого я не знаю и поэтому не могу аннотировать какие-либо атрибуты. Как указано здесь
"Then once your converter developed you can either register globally on the MapperBuilder or simply decorate the field you want to convert with @JohnzonConverter:"
Я смогу зарегистрировать конвертер на
MapperBuilder
но я не знаю, как это сделать.
В MapperBuilder есть этот метод
new MapperBuilder().addObjectConverter(ObjectId.class, new ObjectIdConverter());
но это только для одного экземпляра, а не для Mapper, используемого в конечной точке REST. Мы будем очень благодарны за любые подсказки о том, как зарегистрировать конвертер в глобальном масштабе.