我的数据结构相当简单,但我对如何构建Web API控制器和路由有点困惑。
在我的数据结构中,城市有一个场馆列表,每个场馆都有一个活动列表
这让我了解了应用程序的URL路由。我有吗
选项1
/api/cities/{id}
和/api/venues/{id}
以及/api/events/{id}
但是,在张贴场地(向城市)或活动(向场地)时,这将如何工作?
选项2
/api/cities/{id}
和/api/cities/{cityId}/venues/{id}
以及/api/cities/{cityId}/venues/{venueId}/events/{id}
这有点道理,因为我在使用API时需要打的第一个电话是列出城市的所有场馆。
最后,我认为我的API控制器将有效地仅获取、追加销售和删除City文档,但将为客户提供更具体的数据集,这一想法是否正确?
我通常喜欢第二个选项,但这需要属性路由包或ASP.NET Web API 2(尚未发布)。
第一个选项作为一种更简单的方法也是有效的,只要venue
对象包含cityId
或event
对象共包含venueId
。