我了解(我认为......)REST 的基础知识,但在尝试设计我的 API 时,我对子资源有点困惑,我将尝试用一个例子来解释:
假设我有一个应用程序有两个资源,用户和房间,用户可以创建房间和加入房间,以下 REST URI 是否正确?
- GET/users/< userID >/joinedRooms
- GET/users/< userID >/createdRooms
还是应该像/users/< userId >/rooms/joined 或/users/< userId >/rooms?query=joined ?
“获得类似的房间”URI 会是什么样子?/rooms/< roomId >/similar 或/rooms/?query=similar ?
最佳答案
URL 设计是一种艺术形式,而不是 REST 约束。 REST 没有说明您的 URL 应该是什么样子。 URL 是不透明的字符串,它们的内容无关紧要。
-
/users/<userID>/joinedRooms
-
/users/<userID>/rooms/joined
-
/users/<userID>/rooms?query=joined
您建议的任何这些选项都同样有效。选择最适合您的一个,只要它代表一种资源即可。
also how would "get similar rooms" URI would look like
再说一遍,随心所欲。怎么样/yaz1-oPhce6~X_
? :-)
在做出决定时,我建议您尝试考虑易于实现、美观等因素。
关于api - 我应该如何处理 REST 中的子资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13664701/