REST api中请求资源摘要表示的最佳方法?

时间:2013-04-12 17:39:57

标签: rest

我有一个REST API来处理大量资源,客户。客户有时需要客户的缩写/摘要表示。指定请求是用于汇总表示的好方法是什么?

要获得客户123的完整陈述:/customers/123

获得摘要表示是/customers/123/summary一个好方法吗? 有更好的选择吗?

1 个答案:

答案 0 :(得分:4)

为了使您的解决方案可重用且灵活,我建议实施“过滤器”查询参数。在那里,您可以放置​​客户端所需的任何字段:

GET /customers/123?fields=id,first_name,last_name,email

这样,如果稍后您需要为其他任务创建不同的摘要,则无需修改任何内容。

我不推荐/customers/123/summary,因为它不灵活。对于一个案例可能没问题,但如果客户端需要访问不同案例的不同属性,则必须调整资源(最有可能通过返回比所需更多的字段)。如果你想“隐藏”字段名称,也许替代方案可能是这样的:

GET /customers/123?view=DESCRIPTION

DESCRIPTION”将描述摘要的类型。例如:

GET /customers/123?view=addresses_only // eg. returns billing and home address
GET /customers/123?view=short // eg. returns only id, first name, last name

由于您可以轻松创建新视图,因此仍然非常灵活。