如何指定,如果我想的ASP.NET Web API JSON或XML?(How do I speci

2019-06-26 22:58发布

我写这个星期它都包含一个简单的控制器配备了两个的ASP.NET Web API的应用程序; 我已经调整了各自得到他们的工作,包括例外,等等,但他们尽可能我可以看到配置几乎相同。

其中一个返回JSON和其他收益的XML。 我想他们两个返回JSON!

我看了一些配置可能控制这种行为,但我没有喜悦。 哪里是控制由的ASP.NET Web API使用的序列类型的设置?

Answer 1:

它是由什么叫客户端(例如浏览器或您的.NET客户端)通过在接受头文件中定义:

接受:应用/ JSON,应用/ XML,文本/ JSON,文本/ XML

将有JSON的偏好(如果可能)

所以,你的客户端返回XML需要设置Accept头是高于或干脆

接受:应用/ JSON

应该做的伎俩



Answer 2:

要限制输出到只有一个格式,试图说明操作:

http://www.asp.net/web-api/overview/formats-and-model-binding/json-and-xml-serialization#removing_the_json_or_xml_formatter

与此相关,下面的链接覆盖的ASP.NET Web API如何决定哪种输出格式取决于发送给它的HTTP请求中使用,即如何选择JSON在XML:

http://www.asp.net/web-api/overview/formats-and-model-binding/content-negotiation

如果你想仍然支持这两种格式它可能是有用的,但需要确保自己的客户端代码总是收到JSON回来。



文章来源: How do I specify if I want JSON or XML in ASP.NET Web API?