このようなオブジェクトを投稿するとします
{"Dto" : {
"DtoId" : 1,
"DtoThing" : "Some value",
"DtoChildStuff" : [{"CsId" : 1, "ChildProperty" : "SomeThing"}]
}}
このような WebApi アクションに
[HttpPost]
public Response<MyDto> Post(DtoWrapper<MyDto> input)...
ここで、パラメーターは MyDto 型のプロパティ MyDto を持つオブジェクトであり、MyDto は次のようになります
[DataContract]
public class MyDto
{
[DataMember]
public int DtoId {get;set;}
[DataMember]
public string DtoThing {get;set;}
[DataMember]
public List<ChildStuffDto> DtoChildStuff {get;set;}
}
[DataContract]
public class ChildStuffDto
{
[DataMember]
public int CsId {get;set;}
[DataMember]
public string ChildProperty {get;set;}
}
そして(ちなみに)DtoWrapperはただ
public class DtoWrapper<T>
{
public T Dto {get;set;}
// So that I can add some other info that I need //
}
アクションが子オブジェクトを表示できないのはなぜですか。パラメータの型をオブジェクトに変更すると、子オブジェクトがポストされていることがわかりますが、逆シリアル化されません。何か案は?