发送电子邮件的正确HTTP动词

6

对于仅仅让服务器发送电子邮件而不改变整个Web应用程序状态的请求,正确的HTTP动词是什么?

我正在开发一个Rails项目,我需要定义路由:

Rails.application.routes.draw do

  get 'self_emailer/email_me'
  ...

end

这个问题突显了REST约定的不足之处。如果您执行的操作不会改变应用程序的状态,也不是为了向客户端获取数据,则在REST中没有动词可以适应。他们应该在HTTP中添加一个SEND动词。 - Toby 1 Kenobi
1个回答

7
您可以使用 POST,因为这将创建并交付一个新的电子邮件资源。绝对不要使用 GET,因为用户可能会错误地重新加载浏览器或访问页面,有可能会发送大量电子邮件。

2
但是,当您发送电子邮件时,您不会在数据库中创建新资源,但如果您的后端未处理此问题,则用户重新加载浏览器并发送更多电子邮件是正确的。 - Gilbert R.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接