У меня есть следующий код, который вызывается с контроллера MVC. Модель DisclosureDto, которая передается, содержит несколько Dictionary<string, Dictionary<string, double>>
объектов внутри нее.
например,
public Dictionary<string, Dictionary<string, double>> LumpSumAssetAllocations { get; set; }
public Dictionary<string, Dictionary<string, double>> RecurringAssetAllocations { get; set; }
public Dictionary<string, Dictionary<string, double>> OverallAssetAllocations { get; set; }
Когда модель передается из контроллера, эти объекты имеют значения, но по какой-то причине, когда они попадают в веб-API, они пусты. Можете ли вы помочь?
//Call from MVC controller to Web API
public byte[] GetDisclosureDocument(DisclosureDto model)
{
dataServiceClient = provider.GetDataServiceClient();
var request = new RestRequest("document/generatedisclosure".ToLower(), Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddHeader("Content-type", "application/json");
request.AddJsonBody(model);
IRestResponse response = dataServiceClient.Execute(request);
if (response.StatusCode != HttpStatusCode.OK)
{
logger.Info($"{response} {Environment.NewLine} {model}");
return null;
}
return response.RawBytes;
}
//Web API
[System.Web.Http.HttpPost]
[System.Web.Http.Route("generatedisclosure")]
[SwaggerResponseRemoveDefaults]
[SwaggerResponse(HttpStatusCode.OK, Type = typeof(DisclosureDto))]
public IHttpActionResult GenerateDisclosure([FromBody]DisclosureDto model)
{
//Code to execute
}