部分応答をサポートするWebAPIを実装しています。
/api/users?fields=id,name,age
クラスUserが与えられた
[JsonObject(MemberSerialization.OptIn)]
public partial class User
{
[JsonProperty]
public int id { get; set; }
[JsonProperty]
public string firstname { get; set; }
[JsonProperty]
public string lastname { get; set; }
[JsonProperty]
public string name { get { return firstname + " " + lastname; } }
[JsonProperty]
public int age { get; set; }
}
Jsonフォーマッターは、すべてのプロパティをシリアル化するときにうまく機能しますが、クエリパラメーターの「フィールド」によっては、実行時に一部のプロパティを無視するように変更することはできません。
私はJsonMediaTypeFormatterを使用しています。
フォーマッターをカスタマイズするためにhttp://tostring.it/2012/07/18/customize-json-result-in-web-api/をフォローしましたが、フォーマッターを強制する方法の例が見つかりません。一部のプロパティを無視します。