【发布时间】:2020-05-29 13:24:49
【问题描述】:
我们正在开发一个 REST API,并且我们允许所有四个标准动词。在 POST/PUT 的情况下 最佳实践 c# rest api 有什么更好的。
这是我的模特
public class UserModel
{
public Int64 ID { get; set; }
[Display(Name ="First Name")]
public string FirstName { get; set; }
[Display(Name="Last Name")]
public string LastName { get; set; }
public string Address { get; set; }
[Display(Name="User Name")]
public string UserName { get; set; }
public string Email { get; set; }
public string Password { get; set; }
[Display(Name ="Added Date")]
public DateTime AddedDate { get; set; }
}
示例 1
[HttpPost]
public ActionResult CreateEditUser(UserModel model)
{
if (model.ID == 0)
{
User userEntity = new User
{
//....
}
}
}
示例 2
[HttpPost]
public ActionResult CreateEditUser(int id,UserModel model)
{
if (id == 0)
{
User userEntity = new User
{
//.....
}
}
}
示例 1 和示例 2 哪个更好
【问题讨论】:
-
你都试过了吗?我认为示例 2 在默认情况下不会起作用,因为您有两个参数。
-
我会使用
HTTPPUT示例 2,更容易查找目标并进行更新...如果示例 2 应该这样做的话。 -
最佳实践将是您的第一个示例。在模型中,您可以定义 Model validations 并根据您的标准检测模型是否有效。如果有或没有,您可以根据这些操作显示适当的消息。
标签: c# .net rest asp.net-core-webapi