0
我正在使用Swagger作爲Web API文檔。 在我的Web API,我有實體如下:使用SWAGGER在Web API文檔中不調用ShouldSerialize *方法
public class BaseEntity
{
public string BaseEntProp1{get;set;}
public string BaseEntProp2{get;set;}
public virtual bool ShouldSerializeBaseEntProp1()
{
return true;
}
public virtual bool ShouldSerializeBaseEntProp1()
{
return true;
}
}
public class DerivedEntity1 : BaseEntity
{
[JsonIgnore]
public string DerEntProp1{get;set;}
public string DerEntProp2{get;set;}
public override bool ShouldSerializeBaseEntProp1()
{
return false;
}
public override bool ShouldSerializeBaseEntProp1()
{
return false;
}
}
我用DerivedEntity1作爲Web API方法的輸入參數和產生的招搖文檔。
直到這是好的,但問題是,該文檔中的DerivedEntity1 JSON字符串顯示BaseEntProp1 & BaseEntProp2這應該被排除在外。有人可以幫助我如何排除這些?
注意: 1. DerivedEntity1的DerEntProp1屬性被正確排除。 2.只是爲了確認,我的啓動方法生成的文檔後,我已經硬編碼了以下內容:
var temp = new DerivedEntity1 {
BaseEntProp1 = "should be ignored",
BaseEntProp2 = "this also should be ignored"};
string tempJson = JsonConvert.SerializeObject(temp);
以上測試通過,即tempJson不同時BaseEntProp1 & BaseEntProp2。所以,我懷疑SWAGGER未能調用適當的ShouldSerialize *方法。任何幫助,高度讚賞。
感謝