Trong WebAPI, tôi đã nhận thấy sự không nhất quán đang gây rối với thực tiễn xác thực của chúng tôi. Nếu bạn gửi một cơ thể xấu/tải trọng với một POST trong xml, deserialization không thành công và bạn nhận được một con trỏ null. Nếu bạn gửi một bad body/payload trong JSON, thay vào đó bạn sẽ nhận được một đối tượng rỗng. Nó gây hiểu lầm và tôi không thích nó. Có cách nào để buộc một con trỏ null với một deserialization json thất bại ??Trình nối tiếp JSON tạo một đối tượng trống trên quá trình deserialization không thành công thay vì null
CẬP NHẬT: Tôi không gặp sự cố deserialization. Tôi đang gặp một vấn đề hành vi mà có vẻ là một sự khác biệt giữa DataContractSerializer và serializer Json.net. Khi xml không deserialize, tải trọng là null. Tuy nhiên, khi Json không deserialize, có vẻ như nó là instantiating một thể hiện mặc định của trọng tải dự kiến.
Ví dụ về một tải trọng xml xấu:
Ví dụ về các cuộc gọi tương tự sử dụng một json tải trọng xấu (. Tải trọng không null thay vì nó là một trường hợp mặc định của lớp tải trọng)
bạn có thể chia sẻ mã được cho thấy sự khác biệt này? –
Tôi không chắc chắn làm thế nào để hiển thị cho bạn khi nó xảy ra tại điểm vào. – Sinaesthetic
Vâng, để bắt đầu, hãy hiển thị mô hình của bạn, hiển thị hành động điều khiển API Web của bạn đang lấy mô hình này làm đối số và hiển thị XML và JSON bạn đang đăng lên hành động này giải thích sự khác biệt chính xác mà bạn đã quan sát thấy trong hành vi.Điều này là đủ để bắt đầu một cuộc thảo luận mang tính xây dựng khá khó khăn ở giai đoạn hiện tại của câu hỏi này. –