gpt4 book ai didi

Rest API 为同一资源设计多个 URL?

转载 作者:行者123 更新时间:2023-12-03 04:11:36 25 4
gpt4 key购买 nike

在我的 API 中,我有以下资源:

example.com/api/v1/users/me/sites
example.com/api/v1/users/123/sites

返回当前或给定用户的所有网站。

现在,如果我想获取所有网站并忽略用户,该怎么办?我假设会有以下 URL:

example.com/api/v1/sites

让我觉得将网站作为根资源和用户的子资源有点奇怪。

这是一种可行的方法还是通常以其他方式做到这一点?

或者应该是这样的:

example.com/api/v1/users/sites

哪里没有用户 ID?

最佳答案

对我来说,根据经验,我会查看从 API 返回的内容,这通常会告诉我所代表的内容。

例如,您实际上返回的是网站,而不是 URL 的用户:example.com/api/v1/users/123/sites。在这种情况下,我更愿意对网站进行寻址,因为这就是返回的内容。

所以,我会选择这个网址:example.com/api/v1/sites?user=123

恕我直言,这是利用查询字符串作为站点的实际查询。

因此,对于站点表示,我将像这样构建它:

  1. 所有网站:example.com/api/v1/sites

  2. 特定网站:example.com/api/v1/sites/1

  3. 用户网站:example.com/api/v1/sites?user=123

  4. 当前用户的网站:example.com/api/v1/sites?user=current

关于Rest API 为同一资源设计多个 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18618367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com