我正在和其他队友一起阅读一些REST,我们正在编写一个RoR应用程序,它将向世界其他地方展示它的一些功能。
我在这个团队的任务是创建一个公开期刊报告的资源。如果你打电话
您应该从服务中获取所有的日记报道。这就像一个魅力,但我很困惑如何正确地制作一个暴露一系列期刊的资源。我应该做到吗
或者,当我们谈论REST因为?range = interference?
时这是非法的为REST提供一些参数的最佳方法是什么?
答案 0 :(得分:15)
参数完全没问题,特别是对于像你的情况一样的搜索资源(查询一组期刊)。
我recently answered类似的问题(路径与参数)
答案 1 :(得分:6)
REST不会以任何方式使查询参数“非法”。它是一种架构风格,主要是通过交换表示来驱动应用程序。
考虑到URI是不透明的,例如,http://example.com/page/1
和http://example/?page=1
之间没有真正的区别,就REST而言(它最终取决于发送的表示,但选择或URI样式)往往是一个实现细节。)
重要的是客户如何了解报告的URI。 HTML可以很好地处理表单和查询参数。无论您的服务是针对浏览器使用还是其他代理都无关紧要,您可以使用相同的原则。如果您希望它更灵活或通过首页上的显式链接,您可以拥有HTML表单(或等效,如果您的客户端不是浏览器)。 (您可能会发现将范围拆分为两个参数更容易,例如“from”和“to”,如果您希望它更具动态性。)