首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RESTful服务和混合数据响应

RESTful服务和混合数据响应
EN

Stack Overflow用户
提问于 2015-04-09 14:13:13
回答 1查看 225关注 0票数 0

有一个服务器和客户机。客户端需要从服务器获取这些商店的商店列表和折扣。

我有两种方法:

  1. 一开始我买了所有的商店 e.q.GET http://myservice.com/shops 那我就能在那些商店里得到折扣 e.q.GET http://myservice.com/shops/discounts (两项请求)
  2. 一刀切(商店和折扣) e.q.GET http://myservice.com/shops_and_discounts (一项请求)

第二个决定是否与RESTful服务的原则相矛盾?

还是使用第一种方式更好?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-11 05:52:20

REST强调组件之间的统一接口,当它驱动您实现更通用的问题解决方案时,它是它的优势之一。这两种方法都没有本质上的问题,但您正在创建一种特殊情况,这种特殊情况乍一看不明显,需要明确的文档。

我所使用的解决这个问题的方法是我所说的缩放协议。理想情况下,选项1应该足够了,如果客户端必须发出两个请求,也可以这样做。但是,您可能会有更深层次的其他资源嵌套,并且任何一个解决方案--多个请求或聚合资源说明--都不能很好地扩展。

其想法是有一个zoom数值参数,该参数在父表示中包含相关的子资源,用于所需的多个级别。例如,/shops返回所有商店。/shops?zoom=1返回所有商店,所有折扣和任何其他直接的孩子资源嵌入。/shops?zoom=2也会这样做,并将zoom=1应用于子资源本身,嵌入折扣的直接子级,等等。

这种方法的优点是您可以使其标准化,并且客户端可以在您需要的API中使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29540981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档