Динамическое преобразование объектов не работает при десериализации json - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть API, который создает ReportDocuments из Crystal, контроллер называется Reports , и это уникальный способ создания документов в моем приложении. Я пытаюсь создать уникальное действие, которое получит объект с некоторой информацией, такой как NameOfReport, TypeOfDocument и Data, и заполнит (создаст) отчет.

public class Report
{
    public string NameOfReport { get; set; }
    public string NameCreated { get; set; }
    public ReportType Type {get; set;}
    public dynamic Data { get; set; }
}

Мое действие

[HttpPost]
public string Create(Report report)
{
    try
    {
         return _serviceReport.Create(report);
    }
    catch (Exception ex)
    {
        var resp = new HttpResponseMessage(HttpStatusCode.BadRequest)
        {
            Content = new StringContent(ex.Message)
        };
        throw new System.Web.Http.HttpResponseException(resp);
    }
}

Мой вызов в MVC

public void CreateSomeReport(SomeData data)
{
    // forget the good practices
    _serviceApi.GetPost(".../Report/Create", new Report
    {
        NameOfReport  = "Something",
        NameCreated = "SomethingAgain",
        Type = ReportType.PDF,
        Data = data
    });
}

Когда API получает заявку, .NET теряет ссылку на мой объект SomeData, если я отправляю список, который я потерял, и мой код после этого сломался. И мне нужен мой класс SomeData, содержащий динамическое свойство.

My objetc SomeReport in my api

За моим _serviceApi я использую WebClient и JsonConvert.SerializeObject<T>(object)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...