3

我的 WebApi 操作返回一个从 JObject.parse(jsonString); 构建的动态对象;

我有 GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();

但是该对象被包装在响应中的默认结果消息中。

根据这篇文章返回匿名对象很好,应该给出预期的结果

我正在使用异步控制器,因为我必须在这里等待一些 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
    }
4

1 回答 1

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)

工作正常 :)

于 2012-11-27T01:19:46.353 回答