【问题标题】:Most fitting Http Request最合适的 Http 请求
【发布时间】:2016-03-30 19:53:05
【问题描述】:
我开发了一个电子邮件应用程序。数据库包含包含电子邮件的文件夹。
假设我在收件箱中有一封电子邮件,我想将该电子邮件移至垃圾箱,这意味着只需更改电子邮件的 FolderId 属性。
哪种 Http 请求最适合这种类型的操作?
我有一个用于创建新电子邮件的 Http Post,但是为这个简单的操作使用 POST 似乎是一种浪费。
谢谢
【问题讨论】:
标签:
c#
rest
asp.net-web-api
asp.net-web-api2
【解决方案1】:
哪种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 属性。