Corda RPC JacksonSupport.createDefaultMapper在Spring客户端中使用ObjectMapper
如何在Spring Boot中注册新引入的Corda RPC ObjectMapper 即使在Corda RPC JacksonSupport.createDefaultMapper在Spring客户端中使用ObjectMapper,spring,corda,spring-rest,Spring,Corda,Spring Rest,如何在Spring Boot中注册新引入的Corda RPC ObjectMapper 即使在@Configuration类中有下面的代码,Jackson也无法将参与方对象序列化为JSON字符串 经过一些调整后,我成功地用下面的代码向Jackson注册了Corda RPC ObjectMapper 在尝试执行相同操作时,我遇到了以下错误java.lang.ClassNotFoundException:com.fasterxml.jackson.module.kotlin.KotlinModule
@Configuration
类中有下面的代码,Jackson也无法将参与方
对象序列化为JSON字符串
经过一些调整后,我成功地用下面的代码向Jackson注册了Corda RPC ObjectMapper
在尝试执行相同操作时,我遇到了以下错误java.lang.ClassNotFoundException:com.fasterxml.jackson.module.kotlin.KotlinModule
@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;
}
//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;
}