我有以下内容:
[DataContract]
public class Video
{
[Key]
[DataMember(IsRequired = false)]
[Required]
public int VideoId { get; set; }
[DataMember(IsRequired = false)]
[Required]
public int UserId { get; set; }
[Required]
[DataMember(IsRequired=true)]
public string Title { get; set; }
}
这里的目标是通过 DataMember 装饰告诉 WebAPI,我在线上需要的只是 Title——有效请求不需要其他两个属性。
然后我试图告诉 Entity Framework / SQL 数据库中需要其他属性。我将在我的服务或 webapi 层中分配它们。
如果我使用以下内容仅发送标题,我会得到
{"$id":"1","message":"请求无效。","modelState":{"$id":"2","video.VideoId":["需要一个值。" ],"video.UserId":["UserId 属性是必需的。"]}}
我在这里有什么误解?据我所知,WebAPI 不应该关心没有提供 videoId。