当Aspnet MVC中的Post可以完成所有事情时,Put方法的需求是什么?

问题描述 投票:0回答:1

在MVC中,HttpPost用于在服务器中创建资源,HttpPut用于更新服务器中的现有资源(如果资源不存在则创建新资源)。

让我们看看下面的模型类。

public class Employee
{
   public int ID {get; set;}
   public string FirstName {get; set;}
   public string LastName {get; set;}
}

要在数据库中创建一个新记录,我在控制器中创建了一个HttpPost类型的操作方法,并将employee对象从视图发送到控制器,除了ID属性外,所有属性值都已填充。

由于模型中不存在ID属性,因此我将在应用程序中执行Create逻辑。

现在,如果我想更新此记录,那么我仍然可以使用相同的HttpPost方法,但ID的这个时间值不是null。

那么,如果我可以从同一个HttpPost方法同时进行“更新”和“插入”,那么HttpPut的需求是什么。

.net asp.net-mvc http-post http-put
1个回答
-1
投票

http堆栈的POST和PUT方法的主要区别是PUT是幂等的而POST不是。这意味着假设您从客户端应用程序运行循环,并在每次迭代中执行PUT调用服务器。在这种情况下,服务器将产生相同的结果。但如果是POST,服务器将产生多个资源。

© www.soinside.com 2019 - 2024. All rights reserved.