ope*_*sas 7 rest json entity-relationship foreign-keys
我有一个葡萄酒实体,与一对多关系的国家有关(一个国家 - 许多葡萄酒)
我可以想到在json Web服务中表示这两种方式:
一个是将整个国家包括在一个json中
{
id: 76,
code: "FR",
name: "France"
}
{
id: 79,
name: "Bordeaux",
country: {
id: 76,
code: "FR",
name: "France"
},
year: "2005"
}
Run Code Online (Sandbox Code Playgroud)
另一个是将每个国家/地区属性包括在同一级别,并带有前缀
{
id: 79,
name: "Bordeaux",
countryId: 76,
countrCode: "FR",
countryName: "France"
year: "2005"
}
Run Code Online (Sandbox Code Playgroud)
无论如何,在更新或创建新葡萄酒时,我只会保存国家ID,我不允许从葡萄酒的终点修改国家/地区
第二种方法更容易实现(我会在db上有一个连接视图,而序列化器只会将每个字段转换为json),但我认为第一种方法更优雅
只是想知道这种情况是否有任何标准,如果没有更常见的方法......
ps:我不是要开始讨论解决方案的"restfullness",只是寻找一种简单的方法来处理这种关系...
在你的情况下,国家小到足以考虑每次都嵌套它.但情况并非总是如此,并且我没有找到处理此问题的标准.
我用自定义引用类型完成了这个:
{
"id": 79,
"name": "Bordeaux",
"country": {
"ref": {
"id": 76,
"uri": "/country/76"
}
},
"year": "2005" }
Run Code Online (Sandbox Code Playgroud)
这里也有一些有用的想法.
mgo*_*nto -5
JSon 没有外键。这与 RDBMS 相关。在我看来,JSon 应该显示嵌套在其自身中的所有内容。
MongoDB 强化了这一观点。在 MongoDB 中,您将所有内容存储为 JSON,并且“FK”包含在同一文档中。在我看来,如果你需要 FK,那么你就不需要 mongo,也不需要 JSon。
顺便说一句,如果你总是向国家展示,那么总是提出两个请求是没有意义的
归档时间: |
|
查看次数: |
6672 次 |
最近记录: |