天天看点

Web Api简单用法

ASP.NET MVC 4 包含了 ASP.NET Web API, 这是一个创建可以连接包括浏览器、移动设备等多种客户端的 Http 服务的新框架, ASP.NET Web API 也是构建 RESTful 服务的理想平台。

使用前请安装AspNetMVC4Setup.exe文件,可在微软网站下载;

Web Api简单用法

ASP.NET Web API 包含下列特性:

1、先进的 HTTP 编程模型: 使用新的强类型的 HTTP 对象模型直接操作 HTTP 请求和响应, 在 HTTP客户端使用相同的编程模型和 HTTP 管道;

2、支持路由: Web API 完整支持 ASP.NET 路由, 包括路由参数和约束。 此外, 到动作的映射支持约定, 从此将不再需要向类或者方法添加类似于 [HttpPost] 之类的属性;

3、内容协商: 客户端与服务端可以一起决定 API 返回数据的格式。 默认支持 XML, JSON 以及 Form URL-Encoded 格式, 可以扩展添加自定义格式, 甚至可以替换掉默认的内容协商策略;

4、模型绑定与验证: 模型绑定器可以轻易地从 HTTP 请求中提取数据并转换成在动作方法中使用的 .Net 对象;

5、过滤: Web API 支持过滤, 包括总所周知的 [Authorize] 过滤标记, 可以为 Action 添加并插入自定义过滤, 实现认证、异常处理等;

6、查询聚合: 只要简单的返回 Iqueryable , Web API 将会支持通过 OData 地址约定进行查询;

7、改进的 Http 细节可测试性: Web API 不是将 HTTP 细节设置到一个静态的 Context 对象上, 而是使用 HttpRequestMessage 和 HttpResponseMessage 实例, 可以使用这些对象的泛型版本为这些 Http 类型添加自定义类型;

8、改进的依赖反转 (IoC) 支持: Web API 使用 MVC Dependency Resolver 实现的服务定位器模式在不同的场景下来获取实例;

9、基于代码的配置: Web API 单独使用代码完成配置, 从而保证了配置文件的整洁;

10、自托管 (Self-Host) : Web API 除了可以托管在 IIS 中, 还可以托管在进程中,依旧可以使用路由以及其它的特性。

在Visual Studio 2012中新建MVC4项目,在App_Start目录下有一个WebApiConfig.cs文件,这个文件中就是相应的Web API的路由配置了。

添加Web API 项目:

Web Api简单用法

添加WPI API控制器类

Web Api简单用法

先创建了一个UserModel;

然后添加Web API Controller

注册路由

在Global中注册

这个时候用地址栏访问地址:api/user/getadmin

Web Api简单用法

`

这个时侯默认返回的是XML数据模型。

使用AJAX请求这个api,指定数据格式为json;

alert出来的结果是:

Web Api简单用法

可以根据请求的数据类型返回指定的数据格式。

修改一下controller,添加一个add方法

只为了测试,所以这里只判断一下传入的实体是否为空,如果不为空则返回true

我在页面上添加了一个button,代码如下:

添加JS代码

再次运行页面

Web Api简单用法

我们附加进程进行调试,在发送ajax请求的时候,服务器段接收到的数据如图:

Web Api简单用法