私は、モデルを完全に公開するために、他の多くのアプリケーションで使用されている既存のモデルクラスとモデルサービスを使用してWeb APIを作成しています。 Web APIに同じモデルオブジェクトを使用し、いくつかのフィールドだけを公開できますか?c#ネストされたクラスオブジェクトの子プロパティの直列化を避ける
JsonContractResolverを使用しようとしましたが、ネストされたクラスの子プロパティをシリアル化できません。
/*Model class*/
public class A
{
public int A1 { get; set; }
public DateTime A2 { get; set; }
public List<B> A3 { get; set; }
}
public class B
{
public string B1 { get; set; }
public string B2 { get; set; }
public string B3 { get; set; }
}
予想される出力: Webアプリケーションのメソッドは、クラスAのメンバーを取得すると、それは次のようなJSONを返す必要があります。ウェブAPIは、クラスAのメンバーを取得すると
{"A1":1,"A2":"2017-02-10","A3":[{"B1":"test1","B2":"test2","B3":"test3"}]}
を、その必要があります返品:
{"A1":1,"A3":[{"B1":"test1"}]}
最良の方法を教えてください。
から構築することができ - 使用のviewmodels、匿名型を使用するか、または[アプリケーションまたはエンドポイントごとにカスタムのシリアライザを使用する](http://stackoverflow.com/questions/25157511/newtonsoft-add-jsonignore-at-runtime)あなたの研究は何を示しましたか? – CodeCaster