MVC 第一章(下)

继续第一章

用Javascript and jQuery调用Web API

在上一节,我们用浏览器直接调用web API。但是大多数web API被客户端应用以编程的方式调用。那么我们写一个简单的javascript客户端。

在解决方案资源管理器中,打开Index.cshtml。

敲入下面的代码:

View Code

 

获取一些产品

为了获取产品,要发送一个 HTTP GET请求到/api/products。

JQuery的getJSON方法发起了一个AJAX request,返回一个JSON格式的数据。done方法定义了一个会在请求成功的时候调用的回调函数。在回调函数中,我们用返回的JSON格式的数据(产品信息)更新DOM。

通过ID获取一个产品

为了获取一个产品,要发送一个HTTP GET请求到/api/products/id,其中id是产品ID。

我们仍然使用getJSON发起了一个AJAX request,但是这次我们在请求的URI中传递了一个ID。这个请求返回一个产品。

get a product by ID, send an HTTP GET  request to "/api/products/id", where id is the product ID.

运行程序

按下F5。运行效果如下:

虽然这不是最好的web设计,但是它显示了HTTP service的工作方式。

可以在输入框中输入产品编码:

如果输入不存在的编码,就会出现错误信息

理解路由

这一节讲解的是ASP.NET Web API 的URI怎么隐射到controller方法上的。

ASP.NET Web API framework通过一个路由表为每一个HTTP request找到应该使用的controller。当你创建一个Web  API工程时,工程包含了默认的路由:

/api/{controller}/{id}

当ASP.NET Web API framework发现URI对应上述模式时,它就找到一个controller方法来触发。寻找controller的条件:

  • {controller} 对应controller名。
  • HTTP request 方法对应method名。 (仅仅适用于GET, POST, PUT, 和DELETE请求)(待验证)
  • 如果输入{id}就对应方法的参数id
  • 查询参数按照名称对应
posted @ 2013-06-17 21:49  JustDotNet  阅读(227)  评论(0编辑  收藏  举报