我理解(我认为......)REST的基础知识,但在尝试设计我的API时,我对子资源有点困惑,我将尝试用一个例子来解释:
假设我的应用程序有两个资源,用户和房间,用户可以创建房间和连接房间,以下REST URI是否正确?
或应该是/ users /< userId> / rooms / joined或/ users /< userId> / rooms?query = joined?
如何“获得类似房间”的URI会是什么样子? /房间/< roomId> / similar或/ rooms /?query =相似?
答案 0 :(得分:3)
网址设计是艺术形式,不是REST约束。 REST没有说明您的URL应该是什么样子。 URL是不透明的字符串,其内容无关紧要。
/users/<userID>/joinedRooms
/users/<userID>/rooms/joined
/users/<userID>/rooms?query=joined
您建议的任何这些选项都同样有效。选择最适合您的方案,只要它代表一种资源。
如何“获得类似的房间”URI看起来像
再次,无论你想要什么。 /yaz1-oPhce6~X_
怎么样? : - )
在做出决定时,我建议你尝试考虑诸如易于实施,美观等等。