Xml MVC4RESTAPI始终以JSON格式返回响应
我在最新的项目中使用了MVC4RESTAPI。但我遇到了一个我无法解决的问题 我的请求支持JSON和XML格式,从请求中获得响应没有问题 在测试过程中,我发现了一个问题,即在使用该API时,即使我以JSON格式发送请求,响应也始终是XML格式 但如果我使用Fiddler,它工作得很好,即JSON请求给出JSON响应,XML请求给出XML响应Xml MVC4RESTAPI始终以JSON格式返回响应,xml,asp.net-mvc,json,rest,asp.net-web-api,Xml,Asp.net Mvc,Json,Rest,Asp.net Web Api,我在最新的项目中使用了MVC4RESTAPI。但我遇到了一个我无法解决的问题 我的请求支持JSON和XML格式,从请求中获得响应没有问题 在测试过程中,我发现了一个问题,即在使用该API时,即使我以JSON格式发送请求,响应也始终是XML格式 但如果我使用Fiddler,它工作得很好,即JSON请求给出JSON响应,XML请求给出XML响应 Request headers User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/5
Request headers
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36
Origin: chrome-extension://hgmloofddffdnphfgcellkdfbfbjeloo
Content-Type: application/xml
Accept: */*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Response headers
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.0
Date: Mon, 21 Jul 2014 12:01:27 GMT
Content-Length: 340
恐怕最终用户也会面临同样的问题。那么有没有办法解决这个问题
我所能找到的只是强制使用我的Web API的一种格式来解决这个问题。但我必须支持这两种格式
有办法吗
感谢请求的内容类型标头并不指示服务器的响应类型,它用于确定请求类型
Web API用于确定响应的媒体类型,特别是Accept标头。为了确保XML响应,您需要将Accept头设置为
Accept: application/xml;
请求的Content-Type头并不指定来自服务器的响应类型,而是用于确定请求类型
Web API用于确定响应的媒体类型,特别是Accept标头。为了确保XML响应,您需要将Accept头设置为
Accept: application/xml;
是的,我读过,但理想情况下我想用JSON响应响应JSON请求,用XML响应响应XML请求。我不想强制对JSOn请求做出XML响应。有可能吗?@hellrokr响应类型可以由请求的其他因素确定,即,如果省略Accept标头并提供XML正文,它应该使用与JSON相同的XML进行响应。接受此作为答案,但这不起作用。我必须使用Accept:application/xml。添加/,再次返回JSON格式的响应。您可以在浏览器中试用。@hellrokr*/*必须优先考虑,如果是这样的话,尽管我认为这是顺序决定的。不管怎样,这是一个例子,答案更多的是关于使用Accept头的,我已经更新了答案。是的,我读到了,但理想情况下,我希望用JSON响应响应JSON请求,用XML响应响应XML请求。我不想强制对JSOn请求做出XML响应。有可能吗?@hellrokr响应类型可以由请求的其他因素确定,即,如果省略Accept标头并提供XML正文,它应该使用与JSON相同的XML进行响应。接受此作为答案,但这不起作用。我必须使用Accept:application/xml。添加/,再次返回JSON格式的响应。您可以在浏览器中试用。@hellrokr*/*必须优先考虑,如果是这样的话,尽管我认为这是顺序决定的。不管怎样,这只是一个例子,答案更多的是关于使用Accept头,我已经更新了答案。