有一个有趣的HTTP API问题,我想要一些意见。我的API允许人们以1-10的比例评分。我有一个GET /ratings
端点,列出了用户的评分。我们还想要一种方法来显示用户每天的平均评分。所以我的问题 - 摘要应该是相同的网址,例如/ratings?data=summary
,还是它应该是自己的网址,例如/ratingsummaries
或/ratings/summary
?
通常情况下,我认为没有正确的答案。摘要是另一种评级视图,在这种情况下它是评级资源,应该是/ratings
的一部分吗?或者,是对自己的资源进行评级的摘要,在这种情况下,它应该像/ratingsummaries
那样拥有自己的网址? /ratings/summary
看起来也不错,但它实际上不是评级的子资源。
期待您的反馈。谢谢大家!
答案 0 :(得分:2)
我的意见是,如果您正在取回评级列表,请将其设为/ratings/
。搜索参数通常以@QueryParam
给出。例如ratings?offset=20&records=50&startDate=xx&endDate=yy
/ratings/{id}/
用于ID标识的特定评分。
/ratings/{id}/votes
获得评级投票。
评级摘要与评级不同,因此它是separte url的候选人
/ratingsummary?startDate=x&endDate=y
或您的路径可以/ratingsummary
开头;它可以像是/ratingsummary/ratings?offset=20&records=50&startDate=xx&endDate=yy
在这种情况下,您有评级摘要,然后您可以深入查看对摘要做出贡献的评级列表,然后是一个特定评级等。
理想的是遵循/entities/{idOfOneEntiity}/{attributeOfEntitiy}
等模式