Corda RPC JacksonSupport.createDefaultMapper在Spring客户端中使用ObjectMapper [英] Corda RPC JacksonSupport.createDefaultMapper to use ObjectMapper in Spring client

查看:204
本文介绍了Corda RPC JacksonSupport.createDefaultMapper在Spring客户端中使用ObjectMapper的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在Spring Boot中注册新引入的Corda RPC ObjectMapper?

How to register newly introduced Corda RPC ObjectMapper in Spring Boot?


即使在中包含以下代码之后,@配置类Jackson无法将 Party 对象序列化为JSON字符串。

Even after having below code in @Configuration class Jackson failing to serialize Party object to JSON string.



@Bean
public JsonComponentModule jsonComponentModule() {
    return new JsonComponentModule();
}

@Bean
@Primary
public ObjectMapper cordaRpcObjectMapper(NodeRPCConnection rpc) {
    ObjectMapper objectMapper = JacksonSupport.createDefaultMapper(rpc.getProxy(), new JsonFactory(), true);
    objectMapper.registerModule(jsonComponentModule());
    return objectMapper;
}


推荐答案


经过一些调整后,我就可以使用下面的代码成功向Jackson注册 Corda RPC ObjectMapper



//Register any other custom (de)Serializer classes.
@Bean
public Module jsonComponentModule() {
    return new JsonComponentModule();
}

//Force Spring/Jackson to use only provided Corda ObjectMapper for serialization.
@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter(@Autowired NodeRPCConnection rpcConnection) {
    ObjectMapper mapper = JacksonSupport.createDefaultMapper(rpcConnection.getProxy()/*, new JsonFactory(), true*/);
    mapper.registerModule(jsonComponentModule());

    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    converter.setObjectMapper(mapper);
    return converter;
}

这篇关于Corda RPC JacksonSupport.createDefaultMapper在Spring客户端中使用ObjectMapper的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆