.net - 当所有事情都可以在 Aspnet MVC 中的 Post 中完成时,Put 方法的需要是什么?
问题描述
在 MVC中, HttpPost用于在服务器中创建资源,而HttpPut用于更新服务器中的现有资源(如果资源不存在则创建新资源)。
让我们看看下面的模型类。
public class Employee
{
public int ID {get; set;}
public string FirstName {get; set;}
public string LastName {get; set;}
}
为了在数据库中创建一条新记录,我在控制器中创建了一个 HttpPost 类型的操作方法,并将员工对象从视图发送到控制器,其中填充了除 ID 属性之外的所有属性值。
由于模型中不存在 ID 属性,我将在应用程序中执行创建逻辑。
现在,如果我想更新这条记录,那么我仍然可以使用相同的 HttpPost 方法,但是 ID 的这个时间值不为空。
所以,如果我可以从同一个 HttpPost 方法中同时执行“更新”和“插入”,那么 HttpPut 需要什么。
解决方案
http stack 的 POST 和 PUT 方法的主要区别在于 PUT 是幂等的,而 POST 不是。这意味着假设您从客户端应用程序运行一个循环,并且在每次迭代中您都对服务器进行 PUT 调用。在这种情况下,服务器将产生相同的结果。但是如果是POST,服务器会产生多个资源。
推荐阅读
- c# - c#关于Action内嵌套回调的内存
- html - 如何添加和更改字体真棒图标
- javascript - classList toggle(show) 不显示下拉内容
- php - 如何在 sql 查询中将图像插入到 Session 变量中?
- c# - 使用存储库对基本 c# 应用程序进行单元测试
- c# - 如何使用正则表达式删除多个第一个字符?
- c# - 下面这些叫什么,你在班级的顶部有你:
- ios - 如何使用 Swift 从 PDF 中提取图像?
- oracle - EBS 12.2 表单个性化,主管字段是强制性的,但仍然可以保存记录
- angular - 如何检测绑定到另一个对象属性的对象属性的变化?