使用日志附件发送或发布电子邮件表单

时间:2009-09-03 09:30:17

标签: rest web-applications

我正在使用Spring 3编写一个安静的Web应用程序。该应用程序的一部分是一个表单,在提交时会触发发送附带各种应用程序日志文件的电子邮件。我不确定我是否应该将此表单提交作为“POST”或“PUT”处理。

我的问题是,从结构上来说,这个过程似乎是幂等的(因此是PUT的候选者) - 使用相同数据提交n次的相同请求将始终发送具有相同文本内容的电子邮件,具有相同的文件从附加的相同文件系统位置。

但是,每次执行请求时附加文件的内容可能会有所不同。

在决定PUT或POST时,这些文件的内容是否超出了我应该感兴趣的范围?我完全忽略了这一点吗?

任何想法都会非常感激

非常感谢提前!

2 个答案:

答案 0 :(得分:1)

我肯定会去发布POST,因为每次发布数据时都会发送/创建新的电子邮件。 PUT主要用于编辑现有实体。

答案 1 :(得分:0)

你可以对你做PUT的网址进行GET以返回相同的资源吗?如果没有,那么使用POST。

重要的是服务器在请求后执行的操作。重要的是行为与客户保持一致。如果客户端PUTs资源,它希望能够在之后获取它。如果你让客户端做POST,那么客户端没有期望,除非你返回201,在这种情况下它期望Location头包含新创建的资源。

如果PUT两次发送多封电子邮件的问题是值得商榷的。只要发送的电子邮件数量未暴露给客户端,您就不会违反统一接口的行为。但是,系统中的其他人可能会因为他们正在接收多个接口而感到困惑。