簡體   English   中英

難以將JSON發送到Web API 2

[英]Difficulty sending JSON to Web API 2

我很難取悅Web API 2並試圖讓它在HTTP POST中正確處理我的JSON。 我期待UploadRequest.RequestItems[0].ItemTypeId值為1。

我的JSON看起來像這樣:

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

它正在落后於RequestItems 它傳遞ModelState.IsValid ,但未按預期填充RequestItems Web API端點上的聲明監視如下所示:

在此輸入圖像描述

我期望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; }
    }
}

從中派生RequestItemBaseItem如下所示:

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?

我沒有看到你在JSON中sepcify ItemTypeID。 也許這......

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

如果不止一個......

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM