我们正在构建 Web 服务并尝试遵循 REST 准则。该服务允许用户创建和修改他们的帐户以及随之而来的个人资料(想想电子邮件偏好、地址等)。
在大多数情况下,我认为我们已经把事情搞定了,但是有一个用例我不确定是否合适。
假设我们有一个调用 /password ,用户可以在其中 PUT 一个包含他们当前和所需密码的请求。这很好,但我们正在尝试找出一个适当的调用来启动忘记密码的工作流程,这会在服务器上启动一些操作,并且用户会收到有关如何继续的电子邮件的说明。
由于资源应该是名词而不是动词,因此在 URL 的某处添加 /forgotpassword 没有意义。我们一直在考虑的一种方法是使用与更改密码相同的 PUT,但使用不同的 Content-Type / Accept 标头来区分所需的结果。我对此没意见,但我想知道其他一些选择可能是什么。