Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
REST-仅获取集合中资源的特定属性_Rest_Http_Restful Url - Fatal编程技术网

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

REST-仅获取集合中资源的特定属性,rest,http,restful-url,Rest,Http,Restful Url,我正在开发REST API的搜索功能,目前URI的结构如下: api/items?type=egg,potato 假设每个项目资源有4个属性: Id、名称、类型、等级 设计我的URI并返回每个资源的属性子集(例如,仅返回这些资源的名称)的最restful的方式是什么 -- 我问这个问题的原因是我经常想要一个不那么繁重的结果集。例如,我可以使用动态填充的名称作为下拉列表构建一个AJAX搜索,但我不希望每个请求都有额外的膨胀。REST并不是一套坚如磐石的标准,但有一些很好的实践 在这种特殊情况下,

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

api/items?type=egg,potato
假设每个项目资源有4个属性:

Id、名称、类型、等级

设计我的URI并返回每个资源的属性子集(例如,仅返回这些资源的名称)的最restful的方式是什么

--


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

REST并不是一套坚如磐石的标准,但有一些很好的实践

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

附言
这不是我的发明,我已经在其他API中看到过,在一个叫做
select
的地方。据我所知,Facebook在其API中有此功能。

谢谢,看起来是一个很好的方法。我想知道,不包括身份证有意义吗?(即,我是否应该始终将其作为一个字段?)我想这确实取决于您的用例和ID的含义。如果希望客户很快再次引用该资源,我将始终包含ID。如果没有,那你就不需要了。