Словарь в модели, переданный в REST API, равен нулю C# - PullRequest
0 голосов
/ 27 марта 2020

У меня есть следующий код, который вызывается с контроллера 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
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...