когда я вызываю этот метод
@JsonSerialize(using = ItemRowSerializer.class )
private ItemRow testItem(){
return new ItemRow("abc", Arrays.asList("item1", "item2", "item3"));
}
и пишу в маппер, это то, что я вижу
String jsonResult = new ObjectMapper().writeValueAsString(testItem());
System.out.println(jsonResult);
{"id":"abc","items":["item1","item2","item3"]}
Обратите внимание, я НЕ зарегистрировал простой модуль, добавленный с помощью специального сериализатора к этомуmapper.
т.е.
SimpleModule module = new SimpleModule()
module.addSerializer(ItemRowSerializer.class)
mapper.register(module);
Однако, без регистрации, но с аннотацией уровня класса работает как ожидалось и дает вывод
{"abc":["item1","item2","item3"]}
Так как я передаю этоСериализованный объект по проводу, я не предпочитаю писать в маппер и отправлять строковое представление через.
как мне поступить?
для получения подробной информации о фактической реализации сериализатора, пожалуйста, обратитесь здесь