REST字段过滤器的使用

REST字段过滤器的使用,rest,Rest,我正在设计一个RESTful API,我在问自己关于过滤器字段的问题 在我的gets查询中,我希望用户能够选择他希望在响应中获得的字段。我很确定字段筛选作业会给我请求的字段,但是,在重新搜索之后,我发现大多数时候,它被用来在字段上添加条件,就像一个假设。用户是否每次都需要显示或隐藏字段,Api是否返回完整的ressource 我还有一个问题是关于这种过滤器的URI表示。它是否应该类似于/foo?fields=[bar1,bar2] 多谢有一个可以指定要返回哪些字段的资源并不常见,默认情况下,所有

我正在设计一个RESTful API,我在问自己关于过滤器字段的问题

在我的gets查询中,我希望用户能够选择他希望在响应中获得的字段。我很确定字段筛选作业会给我请求的字段,但是,在重新搜索之后,我发现大多数时候,它被用来在字段上添加条件,就像一个假设。用户是否每次都需要显示或隐藏字段,Api是否返回完整的ressource

我还有一个问题是关于这种过滤器的URI表示。它是否应该类似于/foo?fields=[bar1,bar2]


多谢

有一个可以指定要返回哪些字段的资源并不常见,默认情况下,所有字段都将返回。如果您的资源有很多字段,或者某些字段的值非常大,那么最好有一种方法来指定要返回的字段


在REST中,没有关于如何为过滤器设计URL的严格规则。使用GET参数确实很常见,因为它们可以是可选的,不必按任何特定顺序排列。您关于
/foo?fields=[bar1,bar2]
的建议似乎很好,但我个人不想用括号括起来。

谷歌计算引擎API使用“fields”请求参数(请参阅)。语法足够灵活,用户甚至可以选择/限制嵌套元素。你会发现它很有用

是一个框架,允许您使用可选字段部署自己的RESTAPI。这可以减少到服务器的往返,并提高性能。

谢谢你的回答,我之所以想到这个过滤器,是因为我读了那篇文章[link],觉得它很有趣,因为我的一些资源将显示在数据网格中。对于URI部分,您的解决方案似乎比我的好,不使用括号将更容易解析。“如果您的资源有很多字段,或者某些字段的值非常大,那么最好有一种方法来指定要返回的字段。”在我的回答中添加了这句话。