1

我的数据结构相当简单,但我对如何构建 Web API 控制器和路由感到有些困惑。

在我的数据结构中, City有一个Venues列表,每个场地都有一个Events列表。

这让我想到了应用程序的 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 控制器将有效地获取、更新和删除城市文档,但会为客户端提供更具体的数据集?

4

1 回答 1

0

我通常倾向于第二种选择,但这需要属性路由包或 ASP.NET Web API 2(尚未发布)。

只要您的venue对象包含 acityIdevent对象包含 a ,第一个选项作为一种更简单的方法也是有效的venueId

于 2013-07-14T09:23:14.033 回答