【发布时间】:2016-04-18 17:31:27
【问题描述】:
我想创建表示来回传递给 Restful 服务的数据结构的对象。
服务中记录的记录与 Scala 代码中与之交互的记录之间必须存在明显且直接的关系,例如
obj.id表示对象的id字段。我希望能够以声明的方式定义构成记录的字段。
对于每个字段,我还希望能够声明必需/可选、唯一、数据类型、最大长度、最小/最大值、默认值等属性,就像定义SQL中的表
obj.json返回序列化为JSON格式字符串的对象TypeCompanionObject.fromJson从 JSON 字符串返回obj我希望能够定义通用测试用例,这些测试用例可以应用于任何字符串类型的字段,或任何标记为必需的字段等。
我最初尝试使用一个简单的案例类和 Genson 来进行序列化和反序列化。这满足了要求 1、2、4 和 5。但它并没有真正让我做 3 或 6。
有什么好的模式可以满足我的所有要求?
【问题讨论】:
-
询问第三方库的问题是题外话。
标签: scala rest database-schema dsl case-class