首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >序列化/反序列化Xodus-dnq实体的正确方法

序列化/反序列化Xodus-dnq实体的正确方法
EN

Stack Overflow用户
提问于 2018-12-11 13:29:03
回答 1查看 152关注 0票数 0

例如-我有一个实体:

代码语言:javascript
复制
class XdUser(entity: Entity) : XdEntity(entity) {

    var someName by xdStringProp()
    var someNumber by xdIntProp()
}

从/到json序列化/反序列化它的正确方法是什么?我必须创建数据类,它只复制实体的字段,然后将值传播到XdUser?还是有别的办法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-11 15:45:58

将XdUser序列化为JSON,您应该确保序列化程序不会处理XdUser#entity和其他公共链接,这些链接可能会暴露大量不必要的数据。反序列化带来了另一个问题,因为应该告知反序列化器如何使用构造函数XdUser(entity: Entity)从json实例化类。

从我的预期更好的选择是有另一个级别的rest。它提供了控制公开数据的数量、控制权限(如果有)的能力,以及如何更新实体的方法。

Rest级别的实现如下:

代码语言:javascript
复制
open class EntityVO<T: XdEntity>(xdId: String?) {
}

class UserVO(xdId: String?): EntityVO<XdUser>(xdId: String?) {

    var someName by delegateTo(XdUser::someName)
    var someNumber by delegateTo(XdUser::someNumber)

}

delegateTo应该提供委托,它将通过xdId查找XdUser,并使用指定的XdUser属性获取/设置值。对于链接/链接,逻辑将更加复杂,但想法可能是相同的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53725167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档