3

我了解(我认为...)REST 的基础知识,但在尝试设计我的 API 时,我对子资源有点困惑,我将尝试用一个例子来解释:

假设我有一个应用程序有两个资源,用户和房间,用户可以创建房间和加入房间,以下 REST URI 是否正确?

  1. GET /users/<用户ID>/joinedRooms
  2. GET /users/<userID>/createdRooms

还是应该类似于 /users/< userId >/rooms/joined 或 /users/< userId >/rooms?query=joined ?

还有“获得类似房间”的 URI 会是什么样子?/rooms/< roomId >/similar 或 /rooms/?query=similar ?

4

1 回答 1

3

URL 设计是一种艺术形式,而不是 REST 约束。REST 没有说明您的 URL 应该是什么样子。URL 是不透明的字符串,它们的内容是不相关的。

  • /users/<userID>/joinedRooms
  • /users/<userID>/rooms/joined
  • /users/<userID>/rooms?query=joined

您建议的任何这些选项都同样有效。选择最适合您的,只要它代表一种资源。

还有“获得类似房间”的 URI 会是什么样子

再说一次,随心所欲。怎么样/yaz1-oPhce6~X_?:-)

在做出决定时,我建议您尝试考虑易于实施、美观等因素。

于 2012-12-02T09:41:49.623 回答