0

我们的对象示例

给定一个与此类似的对象结构,如何构建 API?标头 BookWishlists 是否有自己的端点和详细信息 WishlistEntries 是否单独获取?

此外,API 应该如何构建各种类型的 WishlistEntries?我们是否有一个端点可以接受要添加的条目的“类型”?(以 POST /[EntryType]/[BaseBookId] 为例)为每种类型的条目设置一个不同的端点会更好吗?(POST /BookOnAmazon/[ BookOnAmazon:Id])

我们将不胜感激,因为我们无法找到一个指向执行此类操作的 api 的链接。

如果相关,我们将在带有 Phonegap/Javascript 前端的 ASP.net Web API 中执行此操作。

4

2 回答 2

0

每个“资源”都是一个端点,我认为您的愿望清单的 URL 结构看起来不错。

我不认为将数据库表直接映射到资源总是正确的做法。您最好将自己置于 API 使用者的心态中。他们需要什么要求?

在我看来你只有 2 个资源

  • 愿望清单

书籍实际上是愿望清单的一部分。您可能希望也可能不希望返回带有愿望清单条目的所有书籍详细信息,或者可能只是消费者可以请求的 ID。后者将需要消费者更多的开发工作/请求,但可能会更有效。

于 2012-09-14T21:51:01.273 回答
0

您可以按照以下原则/resources/{particularResourceId}/subresources/{oneSubresourceId}

因此,如果您不打算直接访问书籍,我只会想到一个主要资源

/wishlists/获取心愿单列表,
/wishlists/{listId}以获取 亚马逊心愿单条目中所有书籍的
/wishlists/{listId}/entries/所有心愿单条目的一个特定心愿单。
/wishlists/{listId}/entries/amazon/books

从逻辑上讲,您将在脑海中形成 URL。

于 2012-09-15T10:36:00.407 回答