我希望能够将java.util.Date
传递给模型中的CORDA API端点
该模型
public final class Message{
public Date birthday;
public Message(Date birthday) {
this.birthday = birthday;
}
private Message() {
// This is only here so the serializer can spin up a new instance.
}
public Date getBirthday() {
return birthday;
}
}
API
@Path("foo")
public final class FooApi {
@PUT
@Path("bar")
@Produces(MediaType.APPLICATION_JSON)
public Response putBar(Message m) {
// Some logic here
return Response.ok("Successful").build();
}
}
问题是,当我提交
Date
时,我得到了:类java.util.Date不在白名单上注解,
不能使用inserializationSerializationtrace:
closeDate(com.template.messages.Message)
如何将
Date
列入白名单以进行序列化? 最佳答案
从Corda 1开始,您需要创建一个实现SerializationWhitelist
接口的类。定义为:
interface SerializationWhitelist {
val whitelist: List<Class<*>>
}
一个示例实现可能是:
class Plugin : SerializationWhitelist {
override val whitelist: List<Class<*>> get() = listOf(
TransactionBuilder::class.java
)
}
在
META-INF.services
中,您需要一个名为net.corda.core.serialization.SerializationWhitelist
的文件,在其中放置实现SerializationWhitelist
的类的完全限定的类名。干杯
关于java - 如何将类型白名单以使用CORDA进行序列化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45099488/