簡體   English   中英

修改ASP.NET Web API反序列化過程

[英]Modify ASP.NET Web API deserialization process

我基於OWIN / Katana創建了一個Web服務器。 目前,我在理解JSON反序列化過程方面遇到問題...

這是簡單的POST方法:

public IHttpActionResult Post([FromBody] Person person) {
// do some stuff
return Ok();
}

現在的問題是:為什么默認情況下會調用所有模型的Getters,即使屬性名稱為“ JsonIgnore”或沒有“ DataMember”也是如此。

模型:

[DataContract]
public class Person
{
    private string firstName;

    //This property-getter should not be called
    public string FirstName{
        get {
            return firstName;
        }
        set {
            firstName = value;
        }
    }

    //This property-getter should be called
    [DataMember]
    public string LastName { get;set; }
}

是否可以更改此過程?

解決了。

我檢測到在Web API模型驗證器中調用了getter(請參閱類“ DefaultBodyModelValidator”)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM