如何在静态Web服务中指定数据范围或多个实体

问题描述 投票:4回答:1

要访问静态Web服务中的User实例,URL的结构如下面的curl请求所示:

curl -v -X GET -s  "$BASE_URL/User/${customer_id}.json"

如果要指定所有用户实体或整个用户实体范围内的页面,例如数据库中的前50个用户,我将如何构造我的请求以使其与REST兼容?

rest paging range restful-url
1个回答
12
投票

您应首先尝试不强调URI中字符的含义。虽然漂亮,漂亮且可读的URI是一件好事,但它们与REST无关-实际上,通过将所有URI更改为无意义的字符串来判断RESTful接口的设计是一个不错的练习,然后再添加漂亮性。客户端永远不应该了解服务器的URI结构,原因很简单,那就是服务器之后将无法对其进行更改。

接下来,如果客户列表对您来说是一个有意义的概念,则应通过各种方式将其转变为本身的资源。在其表示中,您可能希望包括有关每个单独客户的一些信息,以及指向每个单独客户资源的链接。

分页?好主意-将每个页面变成自己的资源,并将它们链接在一起。看看Google呈现搜索结果以获取提示的方式。

通常这就是您所需要的,因为客户端不必指定页面大小。但是,如果是这样,则从本质上讲,您有两个选择:您可以拥有一个封装表格的资源,该表格允许您指定参数,这些参数在提交后将直接或间接地通过重定向将您带到适当的URI。或者,您可以包括穷人的表格,URI模板。

在任何情况下,我要重申的第一点是:不要将RESTful接口视为将自己表现为一组URI构造规则的API。相反,请考虑资源,表示形式和超媒体。

© www.soinside.com 2019 - 2024. All rights reserved.