В MVC HttpPost используется для создания ресурса на сервере, а HttpPut используется для обновления существующего ресурса на сервере (если ресурс не существует, создайте новый ресурс).
Давайте посмотрим на класс модели ниже.
public class Employee
{
public int ID {get; set;}
public string FirstName {get; set;}
public string LastName {get; set;}
}
Чтобы создать новую запись в базе данных, я создал метод действия типа HttpPost в контроллере и отправил объект сотрудника изview to controller со всеми заполненными значениями свойства, кроме свойства ID.
Поскольку свойство ID отсутствует в модели, я выполню логику создания в приложении.
Теперь, если я хочучтобы обновить эту запись, тогда я все еще могу использовать тот же метод HttpPost, но это значение времени ID не равно нулю.
Итак, если я могу одновременно выполнять «Обновление» и «Вставка» из одного и того же метода HttpPost, то чтонужна HttpPut.