我正在尝试设计RESTful API,用户可以在单个GET请求中获取单个产品或产品列表。每种产品都有唯一的ID。
单个产品网址非常简单:
http://mycompany.com/api/v1/product/id
这将返回单个产品的信息。我很困惑多个产品信息的URL应该是什么样的。
怎么样
http://mycomapny.com/api/v1/product/ids
其中id是以逗号分隔的ID列表?
答案 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