【发布时间】:2016-03-11 21:56:15
【问题描述】:
我正在为管理例如 cmets 和讨论线程设计 API 方案。 我想有一个端点
/discussions/:discussionId
当你GET 它返回一个 cmets 数组加上一些元数据。评论也许可以单独访问
/discussions/:discussionId/comments/:commentId
我还想允许搜索 cmets 以回答以下问题:用户 XYZ 还剩下多少 cmets?必须指定discussionId 是不可行的,所以我想必须有
/comments/:commentId
例如,您可以在其上?q=XYZ。然后还可以通过例如
/comments/:commentId?discussion=discussionId
和上面的端点
/discussions/:discussionId/comments/:commentId
变得多余。最终,一切似乎都倾向于扁平的 API 结构。在野外,我确实看到了很多这样的嵌套端点。
这里的最佳做法是什么?删除嵌套端点?保留两者并处理冗余?或许还有更合适的设计?
【问题讨论】: