如何使用 POST、GET、PUT、DELETE 为电子邮件发送服务设计 REST API?
send: POST - /email
retrieve: GET - /email/{id}
delete: DELETE - /email/{id}
它是设计 REST API 的正确方法吗?我觉得将 POST 映射到“发送”动作并不直观。
如何使用 POST、GET、PUT、DELETE 为电子邮件发送服务设计 REST API?
send: POST - /email
retrieve: GET - /email/{id}
delete: DELETE - /email/{id}
它是设计 REST API 的正确方法吗?我觉得将 POST 映射到“发送”动作并不直观。
你给出的方案是正确的。或者,您可以使用控制器来执行一些更复杂的操作。
在您的情况下,它可能如下所示:
(action) (verb) (URI) (type)
create: POST - /emails - collection
retrieve: GET - /email/{id} - resource
update: PUT - /email/{id} - resource
delete: DELETE - /email/{id} - resource
send immediately: POST - /email/{id}/sendImmediately - controller
just send: POST - /email/{id}/send - controller
do something else: POST - /email/{id}/someOtherActionType - controller
注意新控制器和更改创建工作。后者相当主观,但合理(因为您无法真正访问“没有实际电子邮件”的 URL,就像我解释“/email
没有”{id}
部分的“”一样)。
其他资源: