要访问一个 RESTful Web 服务中的用户实例,URL 的结构如下面的 curl 请求所示:
curl -v -X GET -s "$BASE_URL/User/${customer_id}.json"
如果我想通过一系列用户实体指定所有用户实体或页面,例如我数据库中的前 50 个用户,我将如何构建我的请求以使其符合 REST ???
要访问一个 RESTful Web 服务中的用户实例,URL 的结构如下面的 curl 请求所示:
curl -v -X GET -s "$BASE_URL/User/${customer_id}.json"
如果我想通过一系列用户实体指定所有用户实体或页面,例如我数据库中的前 50 个用户,我将如何构建我的请求以使其符合 REST ???
您应该首先尝试淡化 URI 中字符的含义。虽然漂亮、漂亮和可读的 URI 是一件好事,但它们与 REST 无关——事实上,通过将所有 URI 更改为无意义的字符串并在之后添加漂亮性来判断 RESTful 接口的设计是一个很好的练习。客户端永远不应该知道服务器的 URI 结构,原因很简单,服务器以后将无法更改它。
接下来,如果客户列表对您来说是一个有意义的概念,您应该尽一切努力将其变成自己的资源。在其表示中,您可能希望包含有关每个客户的一些信息,以及指向每个客户资源的链接。
分页?好主意——把每个页面变成它自己的资源,并将它们链接在一起。看看 Google 显示搜索结果以获取提示的方式。
通常这就是您所需要的,因为客户端不必指定页面大小。但如果是这样,您基本上有两个选择:您可以拥有一个封装表单的资源,该表单允许您指定参数,当提交时,这些参数将直接或间接通过重定向将您带到适当的 URI。或者你可以包括一个穷人的表格,一个URI模板。
无论如何,并重申我的第一点:不要将 RESTful 接口视为一种 API,它表现为一组 URI 构造规则。相反,请考虑资源、表示和超媒体。