1

Es fällt mir schwer, Web API 2 zu gefallen und zu versuchen, meine JSON in einem HTTP POST korrekt zu verarbeiten. Ich erwarte der Wert von UploadRequest.RequestItems[0].ItemTypeId 1.Problem beim Senden von JSON an Web API 2

Meine JSON sieht wie folgt aus sein:

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

Es ist die RequestItems es auf sich Umfallen. Er übergibt die ModelState.IsValid, aber die RequestItems wird nicht wie erwartet ausgefüllt. Eine Uhr des Anspruchs auf dem Web-API-Endpunkt wie folgt aussieht:

enter image description here

ich die ItemTypeId zum JSON entsprechen erwarten.

Mein UploadRequest Modell sieht wie folgt aus:

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; } 
    } 
} 

und die BaseItem, von dem RequestItem abgeleitet wird, das wie folgt aussieht:

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; } 
    } 
} 

Wie soll ich die JSON Formatierung werden?

+0

Sie haben nicht 'itemTypes' Array innerhalb' RequestItem' Objekt. Versuchen Sie '" RequestItems ": [ {ItemTypeId: 1} ]' – Developer

+0

Ja, das ist großartig, danke. Funktioniert jetzt. – serlingpa

Antwort

0

Ich habe Sie nicht sehen ItemTypeID in der JSON. Vielleicht ......

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

und wenn es mehr als eine ...

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

Ja! Das funktioniert. Vielen Dank. – serlingpa

+0

Vielen Dank - ich habe meine JSON Hilfe jemand Kirsche gebrochen;) – AntDC

+0

Hehehe. Ist ein Bettler ein Hindernis für Großzügigkeit? – serlingpa

Verwandte Themen