我收到下面的VM上的Web API POST操作的Web API爲空的屬性要求的DataMember屬性
public class ViewModel
{
public string Name { get; set; }
[Required]
public int? Street { get; set; }
}
當我做一個職位,我收到以下錯誤:
Property 'Street' on type 'ViewModel' is invalid. Value-typed properties marked as [Required] must also be marked with [DataMember(IsRequired=true)] to be recognized as required. Consider attributing the declaring type with [DataContract] and the property with [DataMember(IsRequired=true)].
似乎錯誤很明顯,所以我只想確保當你有一個具有所需可空屬性的類時需要使用[DataContract]和[DataMember]屬性。
有沒有辦法避免在Web API中使用這些屬性?
自從我發佈這個問題已經有一段時間了,實際上我最終做了你的建議,我仍然不明白爲什麼web api會以這種方式工作 – jorgehmv
@jorgehmv我認爲它是一個錯誤,除非有人說服我,否則。 – aknuds1
WebApi 2版本中不再存在這個問題。該錯誤似乎是固定的。如果有什麼我很惱火,我必須使ViewModel屬性爲空時,我不需要發佈值爲Required以返回正確的錯誤消息。 –