REST - 仅在集合中获取资源的特定属性

时间:2015-02-23 18:48:34

标签: rest http restful-url

我正在开发我的REST API的搜索功能,目前URI的结构如下:

api/items?type=egg,potato

让我们说每个项目资源有4个属性:

ID,姓名,类型,评级

设计我的URI并返回每个资源的属性子集的最宁静的方法是什么,例如这些资源的名称?

-

我问这个的原因是我经常想要一个不那么重的结果集。例如,我可以使用动态填充的名称构建一个AJAX搜索作为下拉列表 - 但我不希望每次请求都返回额外的膨胀。

1 个答案:

答案 0 :(得分:2)

REST并不是一套坚如磐石的标准,但有一些不错的做法。

在这种特殊情况下,我建议您现在使用现有资源字段的查询参数,以选择type值为eggpotato的项目。但是,要仅选择子集,可以引入field查询参数。因此,您可以调用api/items?type=egg&fields=name之类的API,仅获取name类型的所有资源的egg字段。

P.S 这不是我的发明,我已经在其他API中看到了这个,名为select。据我所知,Facebook在其API中有这个功能。