REST api:在单个get中请求多个资源

时间:2012-02-21 02:11:19

标签: api rest

我正在尝试设计RESTful API,用户可以在单个GET请求中获取单个产品或产品列表。每种产品都有唯一的ID。

单个产品网址非常简单:

http://mycompany.com/api/v1/product/id

这将返回单个产品的信息。我很困惑多个产品信息的URL应该是什么样的。

怎么样

http://mycomapny.com/api/v1/product/ids

其中id是以逗号分隔的ID列表?

2 个答案:

答案 0 :(得分:107)

我建议您将其视为列出由id过滤的资源的多个表示形式。因此,您向基本资源发出GET个请求:

https://example.com/api/v1/products

id过滤响应列表:

https://example.com/api/v1/products?id=1,2,3

答案 1 :(得分:43)

你用逗号分隔的ids的建议已经足够了。

检查一些公共REST API以了解它们如何处理将是有益的。例如,StackExchange API使用分号分隔ID https://api.stackexchange.com/docs/answers-by-ids