REST URL设计 - 一次HTTP调用中的多个资源

Geo*_*rge 39 api rest http

可能重复:
Rails 3自定义路由,将多个ID作为参数

根据我的理解,获取资源的好REST URL如下所示:

/resource/{id}
Run Code Online (Sandbox Code Playgroud)

我的问题是,我经常需要获得大量的资源,同时又不想做一个单独的HTTP调用对于他们中的每一个.

是否有一个整洁的URL设计,以满足这一点,或者这不适合REST API?

Dar*_*ler 33

根据您的回答,您的问题的答案是创建一个包含该组信息的新资源.例如

GET /Customer/1212/RecentPurchases
Run Code Online (Sandbox Code Playgroud)

在单个URL中创建具有许多标识符的复合URL限制了缓存的好处,并为服务器和客户端增加了不必要的复杂性.当您加载具有一堆图形的网页时,您看不到

GET /MyPage/image1.jpg;image2.jpg;image3.jpg
Run Code Online (Sandbox Code Playgroud)

这不值得麻烦.

  • 您提供该资源的链接,而不是ID.所以在您的RecentPurchases资源中,您返回<purchase href ="/ Purchases/21">并让客户端关注链接 (4认同)