RESTful API中的聚合数据

Ste*_*ter 15 api rest

有一个有趣的HTTP API问题,我想要一些意见.我的API允许人们以1-10的比例评分.我有一个GET /ratings列出用户评级的端点.我们还想要一种方法来显示用户每天的平均评分.所以我的问题 - 摘要应该是相同的网址,比如/ratings?data=summary,或者应该是它自己的网址/ratingsummaries还是/ratings/summary

通常情况下,我认为没有正确的答案.摘要只是收视率的另一种观点,在这种情况下,它应该是评级资源,应该是其中的一部分/ratings吗?或者,是对自己的资源进行评级的总结,在这种情况下,它应该得到自己的网址/ratingsummaries吗? /ratings/summary看起来也不错,但它并不是真正的评级子资源.

期待您的反馈.谢谢大家!

bas*_*mes 8

我的意见是,就像
/ratings/您收到收视率列表时一样。搜索参数通常指定为@QueryParam。例如ratings?offset=20&records=50&startDate=xx&endDate=yy


/ratings/{id}/对于由 id 标识的一个特定评级。


/ratings/{id}/votes以获得评级投票。

评级摘要与评级是不同的实体,因此它是单独 url 的候选者,或者您的路径可以以;
/ratingsummary?startDate=x&endDate=y

开头 /ratingsummary它可以像
/ratingsummary/ratings?offset=20&records=50&startDate=xx&endDate=yy 在这种情况下,您有评级摘要,然后您可以深入到对摘要做出贡献的评级列表,然后是一个特定的评级,等等。

遵循诸如此类的模式是理想的/entities/{idOfOneEntiity}/{attributeOfEntitiy}