Я пытаюсь передать параметры в метод C # через запрос post. У меня есть один объект C #, который содержит все поля, которые я отправляю вместе с запросом, и это не примитивный объект, который я создал. Когда я отправляю запрос POST с объектом в нотации JSON, все остальные поля передаются корректно, кроме того, которое становится нулевым.
Я использую атрибут [FromBody], поэтому я попытался обойтись без него, и все же это свойство становится нулевым.
Это мой JSON, имя моего поля вырезано:
{
"cId": 12,
"startDate": "2017-01-01 12:00:00",
"endDate": "2018-01-01 19:00:00",
"isActive": 1,
"cType": 1,
"targetItemCount": 10,
"targetPayedCount": 100,
"uses": 50,
"items": [10, 11, 12],
"info":
{
"InfoId": "00001273-9018-401b-92c1-729a3f895c0f",
"Barcode": "123123",
"Status": null,
"ImageUrl": "urll",
"Name": "name",
"Text1": "text1",
"Text2": "text2",
"DiscountText": "distext",
"Price": 10
}
}
И подпись моих методов:
[HttpPost]
public bool DaMethod([FromBody]DaObject Da)
Класс DaObject:
public class DaObject
{
public int cId { get; set; }
public string startDate { get; set; }
public string endDate { get; set; }
public bool isActive { get; set; }
public short cType { get; set; }
public short targetItemCount { get; set; }
public short targetPayedCount { get; set; }
public int uses { get; set; }
public List<int> items { get; set; }
public Info info { get; set; }
}
Объект Info внутри выглядит так:
[Serializable]
public class Info
{
[DataMember]
public Guid InfoId { get; set; }
[DataMember]
public string Barcode { get; set; }
[DataMember]
public eStatus Status { get; set; }
[DataMember]
public string ImageUrl { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
public string Text1 { get; set; }
[DataMember]
public string Text2 { get; set; }
[DataMember]
public string DiscountText { get; set; }
[DataMember]
public string Price { get; set; }
}
Я продолжаю получать нулевые значения во всех полях внутреннего объекта. Хотя остальные поля в DaObject передаются фактические значения. Как я могу это исправить?