REST GET带有参数的动词

时间:2010-10-28 15:26:20

标签: rest get parameter-passing

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

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

  

http://root.com/journalreports

您应该从服务中获取所有的日记报道。这就像一个魅力,但我很困惑如何正确地制作一个暴露一系列期刊的资源。我应该做到吗

  

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

或者,当我们谈论REST因为?range = interference?

时这是非法的

为REST提供一些参数的最佳方法是什么?

2 个答案:

答案 0 :(得分:15)

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

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

答案 1 :(得分:6)

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

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