【发布时间】:2014-09-03 09:29:24
【问题描述】:
我正在使用最新的 sdk、.NET Framework 4.5.1 和 C# 开发一个 ASP.NET Web Api。
我在 ApiController 上有这个 put 方法:
public void Put(HttpRequestMessage request, int userId, User user)
{
}
如果User 有很多属性,例如姓名、生日、地址、国家等。而我只想更新他/她的地址。
我必须从客户端向 Web Api 发送什么?一个只有他的名字的用户实例?
这是一个 JSON 示例:{"UserAddress":"Ugly street, 1"}。
但是,也许,我不能这样做,因为某些Users 属性不能为空,(比如他/她的年龄,因为它是int Age { get; set; }。
我可以将要更新的所有属性发送到Url,而不是放置User 实例,但我认为这可能会一团糟。
【问题讨论】:
-
为此,您可以做两件事。首先 - 使您的所有属性都可以为空。或者第二个选项是 - 在您的模型的构造函数中,根据它们的数据类型为所有属性分配默认值。然后你可以像这样传递 json -
{"UserAddress":"Ugly street, 1"} -
@KrishnrajRana 感谢您的评论。我想使所有属性都可以为空,但我问了这个问题,看看是否有更好的方法。
-
在我们的一个项目中,我们为 iPhone 团队使用的 wcf 服务使用了第二种方法。
标签: c# asp.net asp.net-mvc web-services rest