restful 规范应该使用嵌套结构吗?

获取某个推文(tweet)下的所有评论(comment),哪个 url 设计更加 restful

假设 tweet_id = 1

方案一:

GET /api/tweets/1/comments

还是方案二:

GET /api/comments?tweet_id=1

现在要获取 comments_id = 1 的评论,就需要用下面的格式了:

GET /api/comments/1

所以,感觉方案二,更好,更加大一统!

阅读 1k
1 个回答

我挺这两个

GET /api/tweets/1/comments
GET /api/tweets/1/comments/1

选第 1 个,因为 comments 是 tweets 1 的,按资源路径,就应该是这样,而不是通过参数来选择。
选第 2 个,是如果拿 comments 拿不到的情况下(比如删除或者其他),更容易拿到它的相关资源,即 tweets 1。那当然,如果没有这种容错性的需求,直接 /api/comments/1 也没毛病,挺正规的一个 URL

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏