【问题标题】:REST Field filter useREST 字段过滤器使用
【发布时间】:2013-12-23 09:42:48
【问题描述】:

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

在我的获取查询中,我希望用户能够选择他想要在响应中获得的字段。我很确定给我请求的字段将是字段过滤器作业,但经过一些研究,我发现大多数时候它用于在字段上添加条件,作为 IF。是用户需要显示或隐藏字段并且 Api 每次都返回完整的资源吗?

我还有一个关于此类过​​滤器的 URI 表示的问题。应该是 /foo?fields=[bar1,bar2] 之类的吗?

谢谢

【问题讨论】:

    标签: rest


    【解决方案1】:

    拥有可以指定要返回的字段的资源并不常见,默认情况下所有字段都会返回。如果您的资源有很多字段或某些字段的值非常大,那么最好有办法指定要返回的字段。

    在 REST 中,对于如何为过滤器设计 URL 没有严格的规定。使用 GET 参数确实很常见,因为它们可以是可选的,并且不必按任何特定顺序排列。你的/foo?fields=[bar1,bar2] 的提议看起来不错,但我个人会去掉括号。

    【讨论】:

    • 感谢您的回答,我正在考虑那个过滤器,因为我读了那篇文章 [link]vinaysahni.com/…,我觉得它可能很有趣,因为我的一些资源将显示在数据网格中。对于 URI 部分,您的解决方案似乎比我的更好,没有括号会更容易解析。
    • “如果您的资源有很多字段或某些字段的值非常大,最好有办法指定要返回的字段。”在我的回答中添加了这句话。
    【解决方案2】:

    Google Compute Engine API 使用“字段”请求参数(请参阅documentation)。语法足够灵活,甚至可以让用户选择/限制嵌套元素。您可能会发现它很有用。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2020-01-03
        • 2016-05-11
        • 2015-04-03
        • 1970-01-01
        • 2016-10-06
        • 2018-10-03
        • 2018-08-07
        • 1970-01-01
        • 2023-03-25
        相关资源
        最近更新 更多