【问题标题】:how to ask webapi for a specific content type如何向 webapi 询问特定的内容类型
【发布时间】:2012-04-14 21:51:13
【问题描述】:

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

客户如何要求特定内容?

(在我的情况下是使用 AMF 请求 XML)

【问题讨论】:

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


    【解决方案1】:

    设置“内容类型:”标题。例如Content-Type:application/xml 向服务请求 xml。

    【讨论】:

      【解决方案2】:

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

      在 ActionScript 客户端中,应该很简单:

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

      服务器随后以“Content-Type”标头进行响应。

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

      希望有帮助!

      编辑:标题错误。

      【讨论】:

        【解决方案3】:

        这只是猜测,但我认为 Accept 标题应该可以解决问题

        Accept request-header 字段可用于指定某些媒体 响应可接受的类型。接受标头可以是 用于表示请求被特别限制为一个小的 一组所需的类型,如对内联请求的情况 图片。

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

        【讨论】:

          【解决方案4】:

          默认情况下 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 中,转到作曲家并在响应标头中写入其中一个并进行一些测试。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-03-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-07-14
            • 2020-06-29
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多