20

有一个有趣的 HTTP API 问题,我想要一些意见。我的 API 允许人们以 1-10 的等级对事物进行评分。我有一个GET /ratings列出用户评分的端点。我们还想要一种显示用户每天平均评分的方法。所以我的问题 - 摘要应该是相同的 url,like/ratings?data=summary还是应该是它自己的 url,比如/ratingsummariesor /ratings/summary

通常情况下,我认为没有正确的答案。摘要是否只是评级的另一种观点,在这种情况下,它将是评级资源并且应该是其中的一部分/ratings?或者,评分摘要是它自己的资源,在这种情况下它应该有自己的 url,比如/ratingsummaries/ratings/summary看起来也不错,但它并不是真正的评级子资源。

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

4

1 回答 1

4

我的意见是,
/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}等的模式是理想的。

于 2012-09-09T18:01:45.990 回答