web-services - 您能否构建一个采用许多参数的真正 RESTful 服务?

标签 web-services rest

阅读后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/

相关文章:

java - 使用 Jersey JAX RS.WS 在 Java 中获取当前 Web 文件夹

android - Phonegap Android 互联网无法正常工作

java - 为 ssl 身份验证编写 java 客户端

php - 在 CakePHP 中,覆盖 AppController 的 redirect() 以在 ajax 请求期间通过 json 响应 url

rest - WooCommerce API-更新订单元字段

spring - RestTemplate 已弃用的 DefaultUriTemplateHandler 的替代品是什么?

web-services - 休息与 SOAP 。 REST 有更好的性能吗?

android - 如何从 Locu API 获取餐厅菜单

web-services - 可以使用浏览器发送 PUT 或 DELETE HTTP 请求吗?

php - AWS - 真正的规范请求是什么?