阅读an article on REST(“Restful Grails”)后,我得到的印象是,在需要大量参数的服务中,无法真正符合REST风格。是这样吗?到目前为止,我所看到的所有示例似乎都暗示真正的REST风格服务是“无参数”的。使用参数将是RPC-ish而不是真正的RESTful。
更具体地说,我们有一项服务可以返回股票价格的图表数据,而这项服务需要知道开始日期,结束日期,货币,股票名称以及可能适用的其他任何内容。在任何情况下,至少需要4-5个参数来检索所需的信息。 我想这个网址是这样的:/ stocks / YAHOO?startDate =“2008-09-01”& endDate = ... (“YAHOO”在这里是一个虚构的股票名称)。
这真的是REST还是更像RPC,上述文章的作者称之为“GETful”(即只是低级的rpc)?
答案 0 :(得分:4)
您可以在要获取的资源上看到查询字符串作为过滤器。在这里,您的资源是雅虎的股票价格。对该资源执行GET会为您提供所有可用数据或最新数据。查询字符串会过滤您想要的价格。内容协商允许您更改表示,例如一个png图,一个csv文件,等等。要添加价格,只需将表示(例如CSV)发布到同一资源。
“restfulness”并非真正在URL本身,因为URI对客户端来说是模糊的,但是与您通过URI标识的资源本身进行交互的方式
答案 1 :(得分:1)
您可以根据需要使用尽可能多的参数来识别您要访问的资源。 REST并不关心。
答案 2 :(得分:0)
为什么你认为这是不可能的?
Google使用REST作为他们的图表api,他们采用了很多参数: