我的WebApi操作返回一个从JObject.parse(jsonString)构建的动态对象;
我有GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
但该对象包含在响应中的默认结果消息中。
根据这个article返回的匿名对象很好,应该给出预期的结果
我正在使用异步控制器,因为我必须在这里等待一些ReadAsStringAsync()我的行动的原型:
public async Task<dynamic> Pics(string flavor, int pagesize)
预期结果:
{"flavor":"","maxFeedSize":0,"mediaContent":[]}
返回动态对象时的结果:
{
"Result": {
"flavor": "",
"maxFeedSize": 0,
"mediaContent": []
},
"Id": 1,
"Exception": null,
"Status": 5,
"IsCanceled": false,
"IsCompleted": true,
"CreationOptions": 0,
"AsyncState": null,
"IsFaulted": false
}
答案 0 :(得分:1)
正如我的想法和评论中提到的那样。由于天真的方法超载,我正在返回Task<Task<dynamic>>
。
public async Task<dynamic> Pics(string flavor, string pagesize)
{
return Pics(flavor, pagesize, null);
}
编辑: 我尝试过这个,因为与MVC路由不同,即使字符串可以为空,也会忽略字符串参数抛出错误
public async Task<dynamic> Pics(string flavor, string pagesize, string startid =null)
工作正常:)