如何向web api询问特定的内容类型

时间:2012-03-31 12:57:54

标签: c# asp.net-web-api content-type

我从ASP.net MVC 4发行说明中了解到,它具有内容协商,并且它将返回客户端请求的内容类型

客户如何询问特定内容?

(在我的情况下,闪存要求使用AMF的XML)

4 个答案:

答案 0 :(得分:9)

就像vansimke所说,你只需设置你需要的内容类型。

在ActionScript客户端中,它应该像以下一样简单:

request.setHeader("Accept", "application/xml"); 

然后服务器响应标题“Content-Type”。

response.setHeader("Content-Type", "application/xml"); 

希望有所帮助!

编辑标题错误。

答案 1 :(得分:2)

这只是猜测,但我认为Accept标题应该可以做到这一点

  

Accept request-header字段可用于指定某些媒体   响应可接受的类型。接受标题即可   用于表示请求仅限于小型   所需类型的集合,如在内联请求的情况下   图像。

Accept和Content-Type之间的主要区别在于,当Content-Type指定实际响应类型时,Accept标头指定预期响应类型。因此,在请求时,您应该使用Accept。

答案 2 :(得分:0)

设置'Content-Type:'标题。例如Content-Type:application / xml从服务请求xml。

答案 3 :(得分:0)

默认情况下,web api使用json,儿子你不必做任何特殊的事情来接收json。您在chrome中看到xml,因为浏览器将响应转换为xml。您需要使用Fiddler来查看您的web api服务的确切响应。 web api为您提供了两种接收数据的方式,json和xml,可以在响应头中进行更改。使用以下,

使用其中一个

Content-Type: application/json (for json)

Content-Type: application/xml (for xml)
在Fiddler中,请转到作曲家并在响应标题中写下其中一个并进行一些测试。