Tôi nhận VM sau trên một Web API bài hành độngWeb API nullable cần đòi hỏi DataMember thuộc tính
public class ViewModel
{
public string Name { get; set; }
[Required]
public int? Street { get; set; }
}
Khi tôi thực hiện một bài tôi nhận được lỗi sau:
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)].
Dường lỗi là rõ ràng vì vậy tôi chỉ muốn hoàn toàn chắc chắn rằng nó là cần thiết để sử dụng [DataContract] và [DataMember] thuộc tính khi bạn có một lớp học với các thuộc tính nullable yêu cầu.
Có cách nào để tránh sử dụng các thuộc tính này trong API Web không?
Đã một thời gian kể từ khi tôi đăng câu hỏi này và thực sự tôi đã làm những gì bạn đề xuất, tôi vẫn không hiểu tại sao trang web api hoạt động theo cách này – jorgehmv
@jorgehmv Tôi coi đó là lỗi, cho đến khi ai đó thuyết phục tôi. – aknuds1
Đây không phải là vấn đề nữa trong bản phát hành WebApi 2. Lỗi này dường như đã được sửa. Nếu bất cứ điều gì tôi đang bực mình rằng tôi đã làm cho các thuộc tính ViewModel vô hiệu hóa khi tôi đang gửi bài giá trị cho yêu cầu để trả lại thông báo lỗi chính xác. –