云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

腾讯云_spss软件百度云_试用

小七 141 0

云上数据库_国内_云主机和vps主机

我们来讨论分页和部分响应。如何准确地向开发人员提供他们需要的信息?

部分响应

以Twitter API为例-请求tweet。你会得到比一个典型的twitter应用程序经常需要的多得多的信息——包括人名、tweet的文本、时间戳、消息被转发的频率,以及很多信息元数据。让让我们看看几个领先的API是如何在响应中满足开发人员的需求的,包括率先提出部分回复想法的Google.

LinkedIn

/人:(id,first name,last name,industry)

这个请求在一个人身上返回id,first name,last name,and industry.

LinkedIn使用了这个简洁的:(…)语法,这是不言而喻的。另外,对于开发人员来说,使用搜索引擎对其含义进行反向工程是很困难的。但这是LinkedIn进行部分选择的方式/乔.史密斯/朋友?字段=id、姓名、图片

谷歌

?字段=标题,媒体:集团(媒体:缩略图)

Google和Facebook有相似的方法,效果很好。

它们都有一个可选参数fields,您可以在参数后面输入要返回的字段的名称。

如本例所示,您也可以将子对象放入响应中,以从其他资源中提取其他信息。

在逗号分隔的列表中添加可选字段

Google方法非常有效。

下面是如何使用此方法从dogs API获取所需信息:

/dogs?字段=名称、颜色、位置

它很容易阅读;开发者可以在给定的时间选择应用程序需要的信息;它减少了带宽问题,这对于移动应用程序很重要。

部分选择语法还可以用于包含相关资源,减少获取所需信息所需的请求数。

使开发人员可以轻松地对数据库中的对象进行分页。

返回数据库中的所有资源几乎总是一个坏主意。

让我们看看Facebook、Twitter和LinkedIn是如何处理分页的。

从语义上讲,Facebook和LinkedIn做同样的事情。也就是说,LinkedIn start&count的使用方式与Facebook offset&limit的使用方式相同。您将使用:

使用限制和抵消

我建议限制和抵消。它更常见,在领先的数据库中很好地理解,并且对开发人员来说很容易?限制=25,偏移=50

默认值呢?

对于默认分页,我的经验法则是limit=10,offset=0。

limit=10,offset=0

分页默认值当然取决于您的数据大小。如果您的资源较大,您可能希望将其限制在10以下;如果资源较小,则选择较大的限制是有意义的。

总之:

通过在逗号分隔的列表中添加可选字段来支持部分响应使用限制和偏移量,以便于开发人员对对象进行分页。