У меня есть класс в этом формате:
[XmlRoot("Root")]
public class XYZ
{
public string A{ get; set; }
public string B{ get; set; }
public string C{ get; set; }
public string D{ get; set; }
public ParentClass E{ get; set; }
public string F{ get; set; }
}
Есть много дочерних классов этого родительского класса для свойства E
, и мне нужно, чтобы, если я передам свойства как JSON или XML в запросе на публикацию, который соответствует дочерним объектам, тогда он должен хранить это как E
Но он показывает только те свойства, которые в ParentClass
я видел подобные сообщения в topi c: десериализации Json до производных типов в Asp. Net веб-API
Проблема с другими решениями, которые я видел в том, что они, похоже, ожидают, что вы передадите тип объекта подкласса в запросе, что я не хочу делать, это должно сработать. И я не думаю, что мне нужно указывать список дочерних объектов, к которым он должен сериализоваться.
Пример тела запроса:
{
"E":{
"ParentClassesProperty": "Foobar"
"ChildClassesProperty": "Hello World"
},
"A":"foobar",
"B":"hfj",
"C": "",
"D":"foo",
"F":"bar"
}
Подпись метода контроллера:
[HttpPost]
[Route("route")]
[Authorize(Foo = "foo", Bar = "Bar")]
public HttpStatusCode NotifyMetrix(XYZ xyz)