Объект JSON внутри объекта, отправленный в запросе POST, не передается методу C # - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь передать параметры в метод 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 передаются фактические значения. Как я могу это исправить?

...