如何为RESTful应用程序中的页面选择URL

时间:2014-09-27 16:25:22

标签: rest

我想我对REST架构有所了解。但是,如何为表示资源的网页选择URL。比如,我有一个用户列表,为了让所有用户通过 GET 请求查询网址 / users 。 但是为网页选择什么网址?

2 个答案:

答案 0 :(得分:1)

如果网页显示所有用户的列表,那么您刚刚描述的网址非常适合网页。如果您使用类似spring MVC的框架来实现它,您将能够将输出定向到jsp,该jsp将在生成网页时包含该列表。

答案 1 :(得分:1)

您选择的URL结构无关紧要。您应该添加指向您的回复的链接,并使用客户端的链接关系进行导航。在开始任何事情之前,您应该阅读有关REST constraints的更多信息。

有一些关于网址的规则

  • 单个资源可以包含多个网址,但单个网址只能识别单个资源
  • 路径应包含层次结构,查询应包含URL的非层次结构部分
  • 您将网址映射到资源,因此如果它们是人类可读的,那么它们可能包含名词而不是动词
  • URL可以识别任何类型的资源,不仅包括Web文档,还包括抽象概念,或来自现实世界的东西(通过非必须使用的非Web文档资源303重定向或片段标识符)

例如,您可以拥有一个包含用户列表的Web文档。该网络文档可以包含以下网址:/users/customers,或者如果您想添加分页,则可能是/users?offset=0&count=25/customers/page:1等等。人类可读的URL使服务器端的路由更容易,并可能检查您是否真的将URL映射到资源而不是操作。如您所见,这些URL不包含动词。我可以使用/RetrieveUserList/FromPage:1,但这将是RPC URL映射(因为retrieve)。通过REST,您可以使用标准HTTP方法来操纵URL标识的资源。这些方法中只有少数几种,但在大多数情况下,如果将它们与专有名词结合使用就足够了。