你能构建一个真正的RESTful服务,需要很多参数吗?

时间:2011-03-21 12:45:08

标签: web-services rest

阅读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)?

3 个答案:

答案 0 :(得分:4)

您可以在要获取的资源上看到查询字符串作为过滤器。在这里,您的资源是雅虎的股票价格。对该资源执行GET会为您提供所有可用数据或最新数据。查询字符串会过滤您想要的价格。内容协商允许您更改表示,例如一个png图,一个csv文件,等等。要添加价格,只需将表示(例如CSV)发布到同一资源。

“restfulness”并非真正在URL本身,因为URI对客户端来说是模糊的,但是与您通过URI标识的资源本身进行交互的方式

答案 1 :(得分:1)

您可以根据需要使用尽可能多的参数来识别您要访问的资源。 REST并不关心。

答案 2 :(得分:0)