默认情况下如何为 Visual Studio Web API 返回 json

Posted

技术标签:

【中文标题】默认情况下如何为 Visual Studio Web API 返回 json【英文标题】:How to return json by default for visual studio web api 【发布时间】:2014-02-24 14:12:38 【问题描述】:

我刚刚在 Visual Studio 2013 中创建了一个 Web API 项目,当我在浏览器中访问示例 RESTful URL(如 http://localhost/values/5)时,它返回 XML。如何使它默认返回 JSON 而不是 XML?我的Global.asax 文件中有什么东西吗?谢谢!

【问题讨论】:

【参考方案1】:

默认情况下,Web API 以 AtomPub 格式返回服务文档。要请求 JSON,您可以在 HTTP 请求中添加以下标头:

Accept: application/json

或者您可以在 Global.asax 中完全删除 xml 媒体类型支持

public class WebApiConfig

    public static void Register(HttpConfiguration config)
    
        var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(t => t.MediaType == "application/xml");
        config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);
    

【讨论】:

对我来说,我不得不把这段代码放在 Global.asax 中,而不是放在 App_Start/WebApiConfig.cs 中

以上是关于默认情况下如何为 Visual Studio Web API 返回 json的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio Code 默认文件夹

msbuild 是不是知道它是从 Visual Studio 调用还是从命令行调用?

默认情况下如何以管理员身份运行 Visual Studio?

如何为office安装visual studio工具?

如何为 Visual Studio Express 2013 桌面项目创建安装程序

Visual Studio 扩展 - 如何为代码着色?