阅读后an article on REST (“Restful Grails”),我的印象是,在需要大量参数的服务中不可能真正符合 REST 风格。是这样吗?到目前为止我看到的所有示例似乎都暗示真正的 REST 风格服务是“无参数”的。使用参数将是 RPC 式的,而不是真正的 RESTful。
更具体地说,假设我们有一个返回股票价格图形数据的服务,并且该服务需要知道开始日期、结束日期、货币、股票名称以及其他任何可能适用的信息。无论如何,至少需要 4-5 个参数来检索所需的信息。 我想 URL 应该是这样的:/stocks/YAHOO?startDate="2008-09-01"&endDate=... (“YAHOO”是一个虚构的股票名称)。
这真的是 REST 还是更像 RPC,上述文章的作者称之为“GETful”(即只是低仪式的 RPC)?
最佳答案
您可以将查询字符串视为您正在获取的资源的过滤器。在这里,您的资源是雅虎的股票价格。对该资源执行 GET 操作将为您提供所有可用数据或最新数据。查询字符串过滤您想要的价格。内容协商允许您更改表示方式,例如png 图表、csv 文件等。要添加价格,只需将表示形式(例如 CSV)发布到同一资源即可。
“安静”并不真正存在于 URL 本身中,因为 URI 对客户端而言是模糊的,而是存在于您与由 URI 标识的资源本身进行交互的方式中
关于web-services - 您能否构建一个采用许多参数的真正 RESTful 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5377732/