У меня есть класс данных , в котором я поправнул на использование System.text.json . Это обрабатывает вызовы из моделей представления UI MVVM WPF, чтобы получить данные модели через веб -API. Все вызовы в API Используйте приложение/json Тип носителя.
Код: Выделить всё
HttpResponseMessage httpresponse = client.PostAsync("api/data", new StringContent(SerialiseToJson(request), Encoding.UTF8, "application/json")).Result;
Код: Выделить всё
public HttpResponseMessage Post(Data.Request request)
{
HttpResponseMessage httpresponse = null;
Data.Response response = null;
try
{
if (request.Type == Data.Request.RequestType.Get)
response = Data.GetData(request);
else
{
response = Data.UpdateData(request);
if (Common.ReportProgressDetailSubscribedTo)
{
if (response.Status == Data.Response.ResponseStatus.Error)
Common.ReportProgressDetail(string.Format("UpdateData Response.Status={0}\r\nResponse.ErrorMessage={1}\r\nResponse.ErrorDetails={2}", response.Status.ToString(), response.ErrorMessage, response.ErrorDetails));
else
Common.ReportProgressDetail(string.Format("UpdateData Response.Status={0}", response.Status.ToString()));
}
}
httpresponse = Request.CreateResponse(HttpStatusCode.OK, response);
}
catch (Exception ex)
{
response = new Data.Response("Unexpected error", ex.Message);
httpresponse = Request.CreateResponse(HttpStatusCode.OK, response);
Common.ReportProgress(string.Format("ERROR: {0}", response.ErrorDetails));
}
return httpresponse;
}
Эта ссылка предлагает создание сайта MVC с простыми контроллерами, однако именно здесь я борюсь. Всякий раз, когда я пробую что -то, необходимые пакеты Nuget включают Newtonsoft.
Я пытаюсь построить это в .net 4.8, поскольку это соответствует уровню остальной части системы. Поскольку Application/json является стандартным форматом, который должен быть в состоянии читать как Newtonsoft.json , так и System.text.json , я не понимаю, почему это не может быть достигнуто. System.text.json перед передачей моего класса Data . Тем не менее, это добавит дополнительную обработку и сложность.
Конечно, есть лучший способ?
Подробнее здесь: https://stackoverflow.com/questions/796 ... nsoft-json