1

У меня с трудом удается пользоваться Web API 2 и пытаться получить его для правильной обработки моего JSON в HTTP POST. Я ожидаю значение UploadRequest.RequestItems[0].ItemTypeId равного 1.Сложность отправки JSON в Web API 2

Моей JSON выглядит следующим образом:

claim = { 
    "UploadRequests": [ 
     { 
      "RequestItems": [ 
       { itemTypes: [1] } 
      ] 
     } 
    ], 
    "ClaimRef": "C/123", 
    "PerilId": 1, 
    "Title": 0, 
    "CustomerName": "Jones", 
    "Mobile": "07123123123", 
    "Email": "[email protected]" 
}; 

Это RequestItems его падение на. Он передает ModelState.IsValid, но RequestItems не заполняется, как ожидалось. Часы претензии на Web API конечных точек выглядит следующим образом:

enter image description here

Я ожидал ItemTypeId, чтобы соответствовать JSON.

Моей UploadRequest модели выглядит следующим образом:

namespace DocumentPortalShared.Models 
{ 
    public class UploadRequest 
    { 
     public int Id { get; set; } 
     public int ClaimId { get; set; } 
     public string UrlId { get; set; } 
     public string RequestText { get; set; } 
     public RequestStatus Status { get; set; } 
     public DateTime CreateDate { get; set; } = DateTime.Now; 
     public DateTime? ResponseDate { get; set; } 

     public Claim Claim { get; set; } 

     public List<RequestItem> RequestItems { get; set; } 
     public List<ResponseItem> ResponseItems { get; set; } 
    } 
} 

и BaseItem, из которого RequestItem производных, выглядит следующим образом:

namespace DocumentPortalShared.Models 
{ 
    public abstract class BaseItem 
    { 
     public int Id { get; set; } 
     public int UploadRequestId { get; set; } 
     public int ItemTypeId { get; set; } 

     public ItemType ItemType { get; set; } 
    } 
} 

Как я должен форматировать JSON?

+0

Вы не имеете 'itemTypes' массива внутри объекта' RequestItem'. Попробуйте '' RequestItems ': [ {ItemTypeId: 1} ] ' – Developer

+0

Да, это здорово, спасибо. Работает сейчас. – serlingpa

ответ

0

Я не видел, чтобы вы разделили ItemTypeID в JSON. Может быть, это ......

claim = { 
    "UploadRequests": [ 
     { 
      "RequestItems": [ 
       { "itemTypeId":1 } 
      ] 
     } 
    ], 
    "ClaimRef": "C/123", 
    "PerilId": 1, 
    "Title": 0, 
    "CustomerName": "Jones", 
    "Mobile": "07123123123", 
    "Email": "[email protected]" 
}; 

и если бы было больше, чем один ...

"RequestItems": [ 
     { "itemTypeId":1 },{ "itemTypeId":2 },{ "itemTypeId":3 } 
    ] 
+0

Да! Это работает. Огромное спасибо. – serlingpa

+0

Спасибо - я сломал мой JSON, помогите кому-то вишнево;) – AntDC

+0

Hehehe. Является ли нищий препятствием для щедрости? – serlingpa