Web APIドキュメントのSwaggerを使用しています。私のウェブAPIで 以下のように、私は実体を持っている:私は、Web APIメソッドの入力パラメータとしてDerivedEntity1を使用して闊歩のドキュメントを生成しShouldSerialize *メソッドは、SWAGGERを使用してWeb APIドキュメントで呼び出されません。
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 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 *メソッドを呼び出すために失敗しています。どんな助けも高く評価されます。問題が闊歩に関連していないよう
おかげ