【发布时间】:2017-02-02 10:18:29
【问题描述】:
我很难取悦 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; }
}
}
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?
【问题讨论】:
-
itemTypes对象内没有itemTypes数组。试试"RequestItems": [ { ItemTypeId: 1} ] -
是的,太好了,谢谢。现在可以使用了。
标签: json entity-framework visual-studio asp.net-web-api asp.net-web-api2