我using a library创建了ObjectMapper
并为此映射器添加了自己的Module
个ObjectMapper
。我希望这些模块中的序列化器能够打印出来。但是,我唯一可以通过builder that lets me add my own modules来配置此映射器。我可以使用我的能力将模块添加到{{1}}以将其配置为漂亮的打印吗?我没有看到SimpleModule
的任何方法或属性表明我可以。
答案 0 :(得分:1)
是的,如果您可以使用Module
注册ObjectMapper
,则可以操作映射器。覆盖setupModule()
上的Module
方法,然后使用getOwner()
上的Module.SetupContext
:
GraphSONMapper mapper = GraphSONMapper.build().addCustomModule(new SimpleModule() {
public void setupModule(com.fasterxml.jackson.databind.Module.SetupContext context) {
ObjectMapper mapper = context.getOwner();
mapper.enable(SerializationFeature.INDENT_OUTPUT);
}
}).create();
GraphSONWriter writer = graph.io().graphSONWriter().mapper(mapper).create();
getOwner()
的文档建议您不要这样做,除非必须这样做。