【发布时间】:2016-02-05 05:21:15
【问题描述】:
目前,我们正在使用这样的路线:
[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
// ...
}
这是解决这种情况的正确方法吗?或者是否有另一种通过 ASP .NET WebAPI 接收 JSON 数据的标准最佳实践?
具体来说,这种方法目前不起作用。虽然我的小型架构类扩展了 JObject,但我得到了一个错误
参数字典包含“EditPdfServer.Controllers.PdfFileController”中方法“System.Threading.Tasks.Task`1[System.Object] Upload(UploadRequest)”的参数“uploadedData”的无效条目。字典包含“Newtonsoft.Json.Linq.JObject”类型的值,但参数需要“EditPdfServer.Controllers.PdfFileController+UploadRequest”类型的值。
首先,这似乎是一种合适的方法吗?其次,有没有更好的?第三,为什么这种方法不起作用?提前致谢。
【问题讨论】:
-
你试过把uploadData的名字改成pdfs
-
这个链接可能对你有帮助weblog.west-wind.com/posts/2012/Aug/30/…
标签: c# asp.net asp.net-web-api routes schema