私は次のものを持っています:
[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 だけであることを伝えることです。他の 2 つのプロパティは、有効な要求には必要ありません。
次に、データベースで他のプロパティが必要であることを Entity Framework / SQL に伝えようとしています。サービスまたは webapi レイヤーでそれらを割り当てます。
以下を使用してタイトルのみを送信すると、
{"$id":"1","message":"リクエストが無効です。","modelState":{"$id":"2","video.VideoId":["値が必要です。" ],"video.UserId":["UserId プロパティは必須です。"]}}
ここで私は何を誤解していますか?私の知る限り、WebAPI は videoId が提供されていないことを気にするべきではありません。