通过ASP.NET Web API + JQuery创建一个简单的Web应用

看了dudu的《HttpClient + ASP.NET Web API, WCF之外的另一个选择》一文,想起多很久之前体现ASP.NET Web API而创建的一个Demo。这是一个只涉及到简单CRUD操作的Web应用,业务逻辑以Web API的形式定义并以服务的形式发布出来,前台通过jQuery处理用户交互并调用后台服务。

一、一个简单的基于CRUD的Web应用

这个简单的Demo应用用于模拟“联系人管理”。当页面加载的时候,所有的联系人列表被列出来。在同一个页面中,我们可以添加一个新的联系人,也可以修改和删除现有联系人信息。整个应用唯一的页面在浏览器中的呈现效果如下图所示。

二、通过ASP.NET Web API提供服务

我们来简单介绍作为Web API形式发布的联系人管理服务的定义,先来看看用于表示联系人的Contact类型的定义。

   1: public class Contact   2: {   3:     public string Id { get; set; }   4:     public string FirstName { get; set; }   5:     public string LastName { get; set; }   6:     public string PhoneNo { get; set; }   7:     public string EmailAddress { get; set; }   8: }

“联系人服务”以具有如下定义的ContactController的形式定义,它是ApiController的子类。简单起见,我们采用静态字段作为对联系人信息的存储。ContactController定义了Get、Put、Post和Delete用于进行对联系人的获取、添加、修改和删除操作。我想对Web API不了解的人会感概,为了什么采用常用的四个HTTP方法作为操作的名称,因为它们在默认的情况下就可以映射为HTTP请求的方法。

   1: public class ContactController : ApiController   2: {   3:     private static List<Contact> contacts = new List<Contact>   4:     {   5:         new Contact{ Id="001", FirstName = "San", LastName="Zhang", PhoneNo="123", EmailAddress="zhangsan@gmail.com"},   6:         new Contact{ Id="002",FirstName = "Si", LastName="Li", PhoneNo="456", EmailAddress="lisi@gmail.com"}   7:     };   8:   9:     public IEnumerable<Contact> Get()  10:     {  11:         return contacts;  12:     }  13:   14:     public Contact Get(string id)  15:     {  16:         return contacts.FirstOrDefault(c => c.Id == id);  17:     }  18:   19:     public void Put(Contact contact)  20:     {  21:         if (string.IsNullOrEmpty(contact.Id))  22:         {  23:             contact.Id = Guid.NewGuid().ToString();  24:         }  25:         contacts.Add(contact);  26:     }  27:   28:     public void Post(Contact contact)  29:     {  30:         Delete(contact.Id);  31:         contacts.Add(contact);  32:     }  33:   34:     public void Delete(string id)  35:     {  36:         Contact contact = contacts.FirstOrDefault(c => c.Id == id);  37:         contacts.Remove(contact);  38:     }  39: }

和ASP.NET MVC Web应用一样,我们同样采用URL路由机制来实现请求地址与目标Controller和Action的映射,而针对API默认注册的路有如下所示。

   1: public class MvcApplication : System.Web.HttpApplication   2: {   3:     //...   4:     public static void RegisterRoutes(RouteCollection routes)   5:     {   6:          //...   7:         routes.MapHttpRoute(   8:             name: "DefaultApi",   9:             routeTemplate: "api/{controller}/{id}",  10:             defaults: new { id = RouteParameter.Optional }  11:         );  12: }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索string
, web api
, 联系人
, public
, contacts
contact
,以便于您获取更多的相关知识。

时间: 2024-10-31 16:20:36

通过ASP.NET Web API + JQuery创建一个简单的Web应用的相关文章

使用IBM WebSphere Cast Iron Web API Services创建一个Web API

利用 IBM WebSphere Cast Iron Web API Services,您只需点击几下就可以组装和显示 API.您还可以通过所提供的分析法来分析您的 Web API 的使用情况,并利用社区挂钩在品牌化的开发人员门户中将 Web API 社区社交化. Web API 是一个快速增长的业务渠道,可帮助您的企业进入新的市场,并吸引新的客户与合作伙伴.它们还可以帮助您从大型开发人员社区中挖掘创新,而不仅仅是在您的公司的开发人员中挖掘创新. 由于 Web API 显示关键的业务资产和服务(

SharePoint中创建一个简单的Web Part 部件

标准的Web部件有时候可以非常强大,可以执行许多函数.本文主要讲解如何使用Visual Studio 创建一个简单的Web部件. 1. 打开VS,点击文件----新建项目. 2. 选择空白SharePoint项目.命名SmallvilleWebPartProject,点击确定.选择部署为场解决方案. 3. 右击项目添加新项目. 4. 选择Web部件. 5. 命名CustomerInformation,点击添加. 6. 右击新的Web部件项目,选择添加类,命名CustomerData,点击确定.

使用 CodeIgniter 创建一个简单的 Web 站点

原文:使用 CodeIgniter 创建一个简单的 Web 站点   参考源自: http://www.ibm.com/developerworks/cn/web/wa-codeigniter/index.html 我的第一个 CodeIgniter 项目(除HelloWorld外),现整理记录下来.   相关环境: 系统:ubuntu-10.04.3 Apache:httpd-2.4.7 PHP:php-5.4.22 MySQL:mysql-5.6.16 CI:CodeIgniter-2.2.

创建一个简单的web服务器

Web服务器也称为超文本传输协议(HTTP)服务器,因为它使用HTTP来跟客户端进行通信的.既然说到通信那就离不了Java里的两个重要的类java.net.Socket和java.net.ServerSocket.这里浏览器一方可以认为是一个客户端,接收HTTP请求的一方可以认为是服务端.在这之前我们先说一下HTTP协议. HTTP协议允许web服务器和浏览器通过网络来进行发送和接收数据.它是一种请求和响应协议.客户端发送一个请求,服务端响应这个请求.HTTP请求由三部分组成,分别是:请求行.消

创建一个简单的web服务器(二):使用自定义的类加载器来替换URLClassLoader

在上一章中我们加载Servlet用的是URLClassLoader,在这一章中我们使用自定义的类加载器来替换URLClassLoader.关于类加载器的文章请参考这里:深入探讨 Java 类加载器.这篇文章写得很棒. 具体的代码如下: package com.zkn.imitate.tomcat.secondchapter.first; import com.zkn.imitate.tomcat.secondchapter.Request; import com.zkn.imitate.tomc

一个简单的web服务器

写在前面 新的一年了,新的开始,打算重新看一遍asp.net本质论这本书,再重新认识一下,查漏补缺,认认真真的过一遍. 一个简单的web服务器 首先需要引入命名空间: System.Net,关于网络编程的大部分类型及操作都可以在这个命名空间下找到. IPAddress:类用来表示一个ip地址. IPEndPoint:用来表示一个IP地址和一个端口号的组合,称为网络的端点. System.Net.Sockets:命名空间中提供了基于Socket编程的数据类型. Socket类封装了Socket的操

《精通 ASP.NET MVC 5》----2.4 创建一个简单的数据录入应用程序

2.4 创建一个简单的数据录入应用程序 本章的其余部分将通过建立一个简单的数据录入应用程序来考查MVC的更多基本特性.本小节打算分步进行,目的是演示MVC的运用,因此会跳过对幕后工作原理的一些解释.但不必担心,在后面的章节中会重新深入地讨论这些论题. 2.4.1 设置场景 假设一个朋友决定举行一个"新年除夕晚会",于是她请笔者为其创建一个Web应用程序,以便让受邀人进行电子回复(RSVP).她的要求有以下4个关键特性. 一个显示此晚会信息的首页. 一个可以用来进行电子回复(RSVP)的

Asp.Net Web API 2第十一课——在Web API中使用Dependency Resolver

原文:Asp.Net Web API 2第十一课--在Web API中使用Dependency Resolver 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文主要来介绍在Asp.Net Web API使用Web API的Decpendency Resolver在控制器中如何注入依赖. 本文使用VS2013.本文的示例代码下载链接为http://pan.baidu.

Asp.Net Web API 2第九课——自承载Web API

原文:Asp.Net Web API 2第九课--自承载Web API 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html Asp.Net Web API可以需要IIS.你可以在你自己的主机上来承载一个Web API. 本教程来展示在控制台应用程序中来承载一个Web API.使用的开发工具为VS2013. 本文示例代码下载链接http://pan.baidu.com/s/1d