Web API应该默认返回JSon

这个问题在这里已经有了答案:

  • 如何让ASP.NET Web API使用Chrome返回JSON而不是XML? 29个答案

  • 内容协商会在您的请求中查看几个内容,包括Accept头(但也包含用于推断返回结果的contenttype头)。 如果您的请求在accept头中包含XML,那么它将转到XML。

    下面是chrome的默认头文件,注意它要求XML,因此Web API默认会为chrome返回XML。

    {连接:保持活动接受:text / html, application / xhtml + xml,application / xml; q = 0.9,image / webp,/; q = 0.8 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en; q = 0.8 Host:localhost:63586 User-Agent:Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 33.0.1750.117 Safari / 537.36}

    您可以选择在您的应用程序忽略接受标题,从格式化程序中删除它们:

    config.Formatters.JsonFormatter.MediaTypeMappings.Clear();
    

    然后添加您的查询映射(当然对于XML格式化程序也是如此)。

    链接地址: http://www.djcxy.com/p/20415.html

    上一篇: Web api should return JSon by default

    下一篇: ASP.NET web api returning XML instead of JSON