我正在为我的项目设计一个新的 API,并且我想将具有嵌套子项的对象作为 json 返回。为此,我决定使用 RABL。
我希望客户端能够了解对象是否有效,如果不是,哪些字段丢失以便正确保存。
我想到的设计应该包括一些可选的字段,在可选的哈希下,其余的都是必需的。必填字段应出现在 json 的根目录下。所以我试图描述的输出应该是这样的:
{
"name": "John",
"last_name": "Doe",
"optional": {
"address": "Beverly Hills 90210",
"phones":[{"number":"123456","name":"work"}, {"number":"654321","name":"mobile"}]
}
}
上面的输出示例描述了必填字段 name 和 last name,以及不需要的 address 和电话(与对象的 belongs_to-has_many 关系相关联)。name、last_name 和 address 是用户的数据库字段。
与 RABL 一起玩到目前为止,我还没有设法创建这种结构。
有什么建议么?我正在寻找一种 DRY 方法来为我的所有模型实现这一点。