В настоящее время мы используем маршрут, как это:ASP .NET WebAPI маршрута Данные схемы
[HttpPost]
[Route("upload")]
public async Task<dynamic> Upload(dynamic uploadedData)
{
JArray files = uploadedData.pdfs;
// ...
}
Вместо того чтобы использовать dynamic
, я хотел бы иметь схематичное понимание данных, поступающих в Таким образом, я мог. используйте такую установку, с классом, который определяет схему:
public class UploadRequest : JObject
{
public JArray pdfs { get; set; }
}
[HttpPost]
[Route("upload")]
public async Task<dynamic> Upload(UploadRequest uploadedData)
{
// Now can access the JArray via uploadedData.pdfs directly
// ...
}
Это правильный подход к этой ситуации? Или существует еще одна стандартная передовая практика для получения данных JSON через ASP.NET WebAPI?
В частности, этот подход в настоящее время не работает. Хотя мой маленький класс схемы расширяет JObject, я получаю сообщение об ошибке из
Словарь параметров содержит недопустимый элемент для параметра «uploadedData» для метода «System.Threading.Tasks.Task`1 [System.Object] Загрузить (UploadRequest) 'в' EditPdfServer.Controllers.PdfFileController '. Словарь содержит значение типа «Newtonsoft.Json.Linq.JObject», но для параметра требуется значение типа «EditPdfServer.Controllers.PdfFileController + UploadRequest».
Итак, во-первых, похоже ли это на правильный подход? Во-вторых, есть ли лучший? В-третьих, почему этот подход не работает? Заранее спасибо.
вы пробовали изменить название uploadedData к PDFS –
могут быть эта ссылка поможет вам HTTP: //weblog.west-wind.com/posts/2012/Aug/30/Using-JSONNET-for-dynamic-JSON-parsing#JObjectandJArrayinASP.NETWebAPI – 111