我不太了解如何合理地构建 REST(或类似 REST)的 API。
想象一个用于创建和发送时事通讯电子邮件的 API。您可能有以下名词/资源:时事通讯(主题、正文等)、邮件列表(收件人的集合)和收件人(电子邮件地址和相关数据)。
因此,您可以使用 PUT 创建资源并返回其 ID:
/newsletter
/list
/user
您可以使用 GET 获取有关资源的信息:
/newsletter/[id]
/list/[id]
/user/[id]
您可以使用 PATCH 更新现有资源(或者这应该是 POST 吗?):
/newsletter/[id]
/list/[id]
/user/[id]
您可以使用 DELETE 删除资源:
/newsletter/[id]
/list/[id]
/user/[id]
以上是正确的吗?
哪些端点对诸如将简报发送到列表、将用户添加到列表等操作是明智的?
以下是否有意义,它是 RESTfull 吗?
/newsletter/[newsletter_id]/send/[mailinglist_id]
/list/[list_id]/add/[user_id]
/list/[list_id]/remove/[user_id]
当可以通过 PATCH 在 处添加或删除用户时,拥有列表list/[id]/add/[id]
和端点是多余的还是无益的?list/[id]/remove/[id]
/list/[id]
通过电子邮件地址或姓名等属性搜索用户 ID 怎么样?或者通过名称或创建时间等标识符获取列表?