最符合Http请求

时间:2016-03-30 19:53:06

标签: c# rest asp.net-web-api asp.net-web-api2

我开发了一个电子邮件应用程序。数据库包含包含电子邮件的文件夹。

说我在收件箱中有一封电子邮件,我想将该电子邮件移至垃圾箱,这意味着只更改FolderId的电子邮件属性。

哪种Http请求最适合此类操作?

我有一个用于创建新电子邮件的Http Post,但是对于这个简单的操作来说,接受POST似乎是浪费。

由于

1 个答案:

答案 0 :(得分:3)

  

哪种Http请求最适合此类操作?

PUT HTTP动词似乎最适合此用例。当您想要更新某些现有资源时,最常用它。例如,您可能有以下几点:

PUT /email/{id_of_message} HTTP/1.1
Content-Type: application/json

{
    "FolderId": "the trash folder id"
}

如果您认为它更符合将电子邮件资源移动到垃圾箱的语义,您可以使用DELETE动词:

DELETE /email/{id_of_message} HTTP/1.1

显然,在这两种情况下,您的方法实现将在后台执行相同的操作:更新客户端在请求的路径段中提供的标识符指定的电子邮件资源的FolderId属性。