ASP.NET Web API初探:GET和POST数据

2017 年 2 月 26 日2870

ASP.NET Web API初探:GET和POST数据

2012-10-10 16:51

来源:博客园

 作者: Parry 编辑: 王晓东0购买

【IT168技术】REST(Representational State Transfer表述性状态转移)而产生的REST API的讨论越来越多,微软在ASP.NET中也添加了Web API的功能。

  WCF之外的另一个选择知道了博客园也开始使用了Web API,且在使用Web API Beta版本的时候遇到了这个问题:痴情意外:ASP.NET WebAPI RC竟然不支持最常用的json传参。

  我们刚好看看Web API的使用,且看目前的版本有没有解决掉这个问题。

  项目建立

  在安装了Visual Studio 2012后,我们依次点击新建项目->已安装模板->Web->ASP.NET MVC 4 Web Application新建一个工程项目。

项目建立

  项目模板选择Web API。

项目建立

  在Model里面我们还是添加之前文章里面使用的User类。

  将自动生成的ValueController修改成UsersController。


GET数据

  使用HTTP的get方法请求获取数据,整个Web API的请求处理基于MVC框架。

  构造了一个user list,实现了三个方法,我们下面来做请求。

  使用不同的浏览器请求的过程中会发现返回的格式不一样。

  先使用Chrome请求,我们发现HTTP Header里面的Content-Type是xml类型。

GET数据

  我们再换FireFox请求,发现Content-Type还是xml类型。

GET数据

  我们再使用IE请求,发现是这样。

GET数据

  打开保存后的文件,我们发现请求到的数据是JSON格式。

GET数据

  造成这样的差异的原因是:不同的浏览器发送的Request Header里面的Content-Type不一致造成的。

GET数据

  我们可以使用Fiddler验证一下。

GET数据


POST数据

  实现一个User添加的功能,接受的类型为User实体,而我们POST的数据为对应的JSON数据,看看dudu在Beta版本的遇到的问题有没有解决。

  我们还是使用Fiddler进行模拟POST数据。

  在POST请求前,我们先将代码附加到进程里面,并在Add方法处设置断点。

  在Visual Studio 2012中,debug HOST的程序变成了IIS Express。

POST数据

  我们使用Ctrl+ALT+P,附加到它的进程里面。

POST数据

  下面使用Fiddler进行模拟POST。

  注意在Request Header里面的Content-Type为text/json,POST的json内容为:

POST数据

  点击Execute后,跳到了我们前面设置的断点处,我们看看提交过来的数据。

POST数据

  结语

  ASP.NET框架一路发展而来,的确功能做的越来越强大、方便。希望我们能摒弃语言的争论,回归纯粹的技术讨论上来,都说微软的技术变化太快,变的本质是什么呢?难道不变就是好的吗?

标签:

ASP.NET

查看更多热销产品>大学生分期购物销量榜

相关文章

ASP.NET Web API

网友评论

已有0条评论

0 0