2015-01-06 49 views
0

我有一個不接受郵政作爲跟隨(比如)的WebAPIWebapi。定義默認的Json值時枚舉屬性缺失

public Foo Post(MyInfo info) 
     { 
      return new Foo(); 
     } 

MyInfo的可能是這樣的

public class MyInfo 
    { 
     [JsonProperty(PropertyName = "n")] 
     public int MyInt1{ get; set; } 

     [JsonProperty(PropertyName = "v")] 
     public string MyString1{ get; set; } 
} 

一切工作正常,當我的桌面應用程序(版本1)向此webapi發佈請求。我用JsonConverter序列化對象。

現在,讓我們說,我想一個新的參數添加到MyInfo的是遵循

public class MyInfo 
     { 
      [JsonProperty(PropertyName = "n")] 
      public int MyInt1{ get; set; } 

      [JsonProperty(PropertyName = "v")] 
      public string MyString1{ get; set; } 

      [JsonProperty(PropertyName = "s")] 
      public MyEnum EnumValue{ get; set; } 
    } 

我更新網站和的WebAPI和發佈我的桌面應用程序的新版本(版本2)。

該webapi適用於我的桌面應用程序的版本2。但是,當我使用我的版本1時,webapi中的參數(MyInfo info)結束爲空。 提醒一下,版本1會發送完全相同的MyInfo對象,但缺少一個屬性。

如何避免此問題並在屬性丟失時定義默認值。

謝謝

回答

0

事實上,問題是我有兩個具有相同Json屬性名稱的屬性。

它完全與默認值無關。