当我有一个资源时,假设customers/3
哪个返回客户对象,我想用不同的字段或其他一些更改返回这个对象(例如,假设我需要在客户对象中包含他最近的购买(为了速度我不想做2个不同的查询))。
如我所见,我的选择是:
customers/3/with-latest-purchase
customers/3?display=with-latest-purchase
在第一个选项中,新表示有不同的 URI,但这真的需要吗?另外我如何告诉客户这个 URI 存在?
在第二个选项中有 GET 参数告诉服务器返回什么样的表示。URI 参数可以通过 OPTIONS 方法进行解释,并且更容易告诉客户端在哪里查找数据,因为所有表示都在一个地方。
所以我的问题是其中哪一个更好(更 RESTful)和/或有一些我不知道的更好的方法来做到这一点?