【发布时间】:2013-02-26 19:38:47
【问题描述】:
我有一个问题,我无法决定如何处理这个问题.. 我需要知道是否有任何标准方法可以解决这个问题.. 或者你们是否对这个问题有任何很好的意见。
问题是我已经开始构建一个非常基本的 API 用于学习目的 API 是一个简单的音乐商店.. 商店有一些专辑需要和艺术家。
所以关系是艺术家 专辑和专辑的存在要求专辑有艺术家。但艺术家不需要和专辑。
现在问题...
由于这种关系,如果我想创建一个新专辑..我必须发布专辑数据..以及整个 Arist 数据..不仅仅是艺术家的 ID..而是整个艺术家..如果你问我,这似乎不是很有效.. 因为那是一大堆不必要的。
所以在我看来,有两种方法可以解决这个问题...... 要么我只发布整个专辑数据/对象,并允许对象的艺术家数据只包含一个 ID,然后引用艺术家。
所以不要发帖:
{
"Name":"AlbumName",
"Description":"Some description for the album",
"ReleaseYear": "1992",
"Artist" {
"Name":"Some artist",
"Id":"12345",
"Biography":"Lorem ipsum dolor sit amet"
}
}
我会这样做:
{
"Name":"AlbumName",
"Description":"Some description for the album",
"ReleaseYear": "1992",
"Artist" {
"Id":"12345"
}
}
第二个选项是实际上有一个特定于这个的路由/url... 例如: /api/artist/{artistid}/专辑 然后只需将专辑对象发布到该网址..
但正如我所说.. 我真的不确定这里是对是错.. 或者有什么标准的处理方法吗?
提前致谢!
【问题讨论】:
标签: api rest asp.net-web-api relationship