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

mas*_*ugo 6 routes ruby-on-rails http-verbs

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

我正在开发一个 Rails 项目,我需要以某种方式定义路线:

Rails.application.routes.draw do

  get 'self_emailer/email_me'
  ...

end
Run Code Online (Sandbox Code Playgroud)

Sim*_*tti 7

您可以使用POST,因为将有效地创建和传递新的电子邮件资源。我绝对不会使用GET,因为用户可能很容易重新加载浏览器或错误地访问页面,从而存在发送大量电子邮件的风险。

  • 但是,当您发送电子邮件时,您不会在数据库中创建新资源,但是您对用户重新加载浏览器并发送更多电子邮件的看法是正确的(如果您的后端不处理这一点) (2认同)