【问题标题】:REST GET verb with parameters带参数的 REST GET 动词
【发布时间】:2010-10-28 15:26:20
【问题描述】:

我正在和我的队友一起阅读一些 REST,我们正在编写一个 RoR 应用程序,它将向世界其他地方公开它的一些功能。

我在这个团队的任务是制作一个公开期刊报告的资源。如果你打电话给

http://root.com/journalreports

您应该从该服务获取所有日志报告。这就像一个魅力,但我对如何正确制作公开一系列期刊报告的资源感到困惑。我应该去吗

http://root.com/journalreports?range=1/2/2010;5/2/2010

或者当我们谈论 REST 因为 ?range= 干扰时这是否违法?

为 REST 资源提供一些参数的最正确方法是什么?

【问题讨论】:

    标签: rest get parameter-passing


    【解决方案1】:

    参数完全没问题,特别是对于像你这样的搜索资源(查询一组期刊)。

    recently answered类似的问题(路径与参数)

    【讨论】:

    【解决方案2】:

    REST 不会以任何方式使查询参数“非法”。这是一种架构风格,主要是通过交换表示来驱动应用程序。 考虑到 URI 是不透明的,http://example.com/page/1http://example/?page=1 之间没有真正的区别,例如,就 REST 而言(它最终取决于发送的表示,但选择或 URI 样式往往是实现细节)。

    重要的是客户将如何了解您的报告的 URI。 HTML 可以通过表单和查询参数很好地做到这一点。无论您的服务是用于浏览器消费还是其他代理都无关紧要,您可以使用相同的原则。如果您希望 HTML 表单更灵活或通过首页上的显式链接,您可以使用 HTML 表单(如果您的客户端不是浏览器,则可以使用等效表单)。 (如果您希望它更具动态性,您可能会发现将范围分成两个参数更容易,例如“from”和“to”。)

    【讨论】:

    • 其实我认为这种“php风格”在做REST的时候是违法的。但也许我在浏览一些文章时读错了?
    • @mslot 是什么让查询字符串“php 风格”?我认为应用程序实现的语言与应用程序如何解释和使用 URI 是互斥的。
    猜你喜欢
    • 2023-03-31
    • 2014-12-31
    • 2019-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多