下一节 → ← 上一节
Web API Request/Response 数据格式在这里,您将了解Web API如何处理不同格式的请求和响应数据。
Media Type媒体类型(又名MIME类型)指定数据的类型/子类型的格式,例如type/subtype , text/html, text/xml, application/json, image/jpeg 等。
在HTTP请求,请求中指定MIME类型的方法是是在头部中使用Accept和Content-Type属性。Accept头部属性指定客户期望的响应数据的格式,Content-Type头部属性指定请求体中的数据的格式,这样接收器可以解析它转换成适当的格式。
例如,如果一个客户端希望得到JSON格式的响应数据,那么他可以按照下面的格式发送Http Get请求到Web API。
GET :60464/api/student HTTP/1.1 User-Agent: Fiddler Host: localhost:1234 Accept: application/json以同样的方式,如果一个客户机在请求正文中包含需要发送到接收机的JSON数据,那么他可以发送以下POST HTTP请求,头部的Content-Type使用application/json,如下:
POST :60464/api/student?age=15 HTTP/1.1 User-Agent: Fiddler Host: localhost:60464 Content-Type: application/json Content-Length: 13 { id:1, name:'Steve' }Web API将请求数据转换成CLR对象,也会序列化CLR对象成为基于Accept和Content-Type头的响应数据。Web API内置支持JSON、XML BSON,form-urlencoded数据。这意味着它会自动将请求/响应数据转换成这些格式。
参考以下简单的操作方法。
正如上面你可以看到的,Action方法Post()接受学生类型参数,保存学生到数据库并返回插入学生后生成的id。上面的Web API处理带JSON或XML数据的HTTP Post请求,解析到一个基于Content-Type头的Student对象,之后它将insertedStudent对象转换为基于Accept的JSON或XML数据。
下图展示了在Fiddler中的HTTP POST请求。
在上面的图中,Accept指定响应数据为XML格式并且Content-Type指定请求数据中的学生数据是json格式。下面是在执行上述请求的响应。
用同样的方式,您可以使用accept 和 content-type 头来指定不同的请求/返回数据的格式,Web API将原封不动地处理它们。
以下HTTP POST请求发送XML格式的数据并接收JSON格式的数据。
上面的HTTP POST请求会得到以下响应。
因此,Web API默认处理JSON和XML格式的数据。
在下一节我们将学习Web API如何使用Formatters格式化请求/响应数据。
版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址: (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:
← 上一节 下一节 →