Asp.net mvc ASP MVC 4 Web Api包装我的json结果
我的WebApi操作返回从JObject.parse(jsonString)构建的动态对象 我有GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear() 但该对象被包装在响应中的默认结果消息中 根据这一点,返回匿名对象是可以的,应该会给出预期的结果 我使用的是异步控制器,因为我必须等待一些ReadAsStringAsync(),这里是我操作的原型:Asp.net mvc ASP MVC 4 Web Api包装我的json结果,asp.net-mvc,asp.net-web-api,Asp.net Mvc,Asp.net Web Api,我的WebApi操作返回从JObject.parse(jsonString)构建的动态对象 我有GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear() 但该对象被包装在响应中的默认结果消息中 根据这一点,返回匿名对象是可以的,应该会给出预期的结果 我使用的是异步控制器,因为我必须等待一些ReadAsStringAsync(),这里是我操作的原型: public async Task
public async Task<dynamic> Pics(string flavor, int pagesize)
返回动态对象时的结果:
{
"Result": {
"flavor": "",
"maxFeedSize": 0,
"mediaContent": []
},
"Id": 1,
"Exception": null,
"Status": 5,
"IsCanceled": false,
"IsCompleted": true,
"CreationOptions": 0,
"AsyncState": null,
"IsFaulted": false
}
正如我所想和评论中提到的。我返回了一个
任务
,因为有一个幼稚的方法重载
public async Task<dynamic> Pics(string flavor, string pagesize)
{
return Pics(flavor, pagesize, null);
}
公共异步任务图片(字符串样式、字符串页面大小)
{
返回图片(风格、页面大小、空);
}
编辑:
我尝试这样做是因为与MVC不同,字符串参数会抛出一个错误,即使字符串可以为null
public async Task<dynamic> Pics(string flavor, string pagesize, string startid =null)
公共异步任务图片(字符串样式、字符串页面大小、字符串startid=null)
工作正常:)我不清楚你在问什么。您期望的行为是什么?您实际得到的行为是什么?从您得到的序列化
任务的外观来看
。。。您可以发布所有控制器操作代码吗?或者您可以将重载设置为非异步的(提示:倾听编译器警告)。如下所示:publictask图片(stringflavor,stringpagesize){返回图片(flavor,pagesize,null)}
public async Task<dynamic> Pics(string flavor, string pagesize, string startid =null)