Web APi入门之基本操作(一)

最近学习了下WebApi,WebApi是RESTful风格,根据请求方式决定操作。以博客的形式写出来,加深印象以及方便以后查看和复习。

1、首先我们使用VS创建一个空的WebApi项目

2、新建实体以及控制器类

1     public class Product
2     {
3         public int Id { set; get; }
4         public string Name { set; get; }
5         public string Description { set; get; }
6     }
 1     public class HomeController : ApiController
 2     {
 3         static List<Product> modelList = new List<Product>()
 4         {
 5             new Product(){Id=1,Name="电脑",Description="电器"},
 6             new Product(){Id=2,Name="冰箱",Description="电器"},
 7         };
 8
 9         //获取所有数据
10         [HttpGet]
11         public List<Product> GetAll()
12         {
13             return modelList;
14         }
15
16         //获取一条数据
17         [HttpGet]
18         public Product GetOne(int id)
19         {
20             return modelList.FirstOrDefault(p => p.Id == id);
21         }
22
23         //新增
24         [HttpPost]
25         public bool PostNew(Product model)
26         {
27             modelList.Add(model);
28             return true;
29         }
30
31         //删除
32         [HttpDelete]
33         public bool Delete(int id)
34         {
35             return modelList.Remove(modelList.Find(p => p.Id == id));
36         }
37
38         //更新
39         [HttpPut]
40         public bool PutOne(Product model)
41         {
42             Product editModel = modelList.Find(p => p.Id == model.Id);
43             editModel.Name = model.Name;
44             editModel.Description = model.Description;
45             return true;
46         }
47     }

3、新建html页面使用ajax操作

 1 <!DOCTYPE html>
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <title>Demo</title>
 6     <script src="/Scripts/jquery-1.10.2.js"></script>
 7     <script type="text/javascript">
 8         $(function () {
 9             add();
10             update();
11             find();
12             remove();
13             getAll();
14         });
15         function getAll() {
16             $.ajax({
17                 url: "api/Home/",
18                 type: ‘GET‘,
19                 success: function (data) {
20                     console.log(data);
21                 }
22             });
23         }
24
25         function find() {
26             $.ajax({
27                 url: "api/Home/1",
28                 type: ‘GET‘,
29                 success: function (data) {
30                     console.log(data);
31                 }
32             });
33         }
34
35         function add() {
36             $.ajax({
37                 url: "api/Home/",
38                 type: "POST",
39                 data: { "Id": "3", "Name": "电磁炉", "Description": "电器" },
40                 success: function (data) {
41                     console.log(data);
42                 }
43             });
44
45         }
46
47         function update() {
48             $.ajax({
49                 url: "api/Home/",
50                 type: ‘PUT‘,
51                 data: { "id": "1", "Name": "洗衣机", "Description": "家具" },
52                 success: function (data) {
53                     console.log(data);
54                 }
55             });
56         }
57
58         function remove() {
59             $.ajax({
60                 url: "api/Home/1",
61                 type: ‘DELETE‘,
62                 success: function (data) {
63                     console.log(data);
64                 }
65             });
66         }
67     </script>
68 </head>
69 <body>
70     <h1>WebApi基本操作</h1>
71 </body>
72 </html>

4、通过开发人员工具可以看到如下

WebApi默认是以XML格式返回,但是一般我们需要返回Json,通过在Global.asax里的Application_Start方法中加上如下代码可以移除XML,让其只返回Json

GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
时间: 2024-10-10 03:37:13

Web APi入门之基本操作(一)的相关文章

转载-Web API 入门

An Introduction to ASP.NET Web API 目前感觉最好的Web API入门教程 HTTP状态码 Web API 强势入门指南 Install Mongodb Getting Started with ASP.NET Web API 2 下面的转自:http://www.cnblogs.com/developersupport/p/aspnet-webapi.html Web API是一个比较宽泛的概念.这里我们提到Web API特指ASP.NET Web API. 这

Web API 入门指南 - 闲话安全

参考页面: http://www.yuanjiaocheng.net/Spring/first.html http://www.yuanjiaocheng.net/entity/modelbrowser.html http://www.yuanjiaocheng.net/entity/dbcontext.html http://www.yuanjiaocheng.net/mvc/first.html http://www.yuanjiaocheng.net/webapi/first.html W

Web API 入门一

之前我也了解过Web API 这部分,但是没有系统学习,更没有相关记录,故现在,写些博客记录入门学习过程.首先,关于API,只要学习编程的都应该知道,也都用过,API(应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节. Web Api是一种可以使用HTTP协议访问的API,我们可以使用如JAVA..NET等来实现,在此,以后的代码中我将使用.NET来实现.因此,我将列出ASP .NET Web

Web API入门之移除XML格式(一)

前言 回头想来,没想到自己却坚持下来了,EntityFramework系列终于全部完成了,给自己点个赞先.本系列将着手于Web API,关于一些基础的介绍及定义就不再叙述,请参考园友们文章,非常详细,我也是在此基础上步入学习的. 简短介绍 我们知道Web API是基于ASP.NET平台构建RESTful应用程序的框架(关于RESTful请参考园友Liam Wang关于其详细介绍),通过访问在方法标记为HttpPost.HttpGet.HttpPut等得知. 问题探讨 我们知道Web API默认输

【Web API】1.1 ASP.NET Web API入门

前言 HTTP不仅仅服务于web页面,同时也是构建暴露服务和数据的API的强大平台.HTTP有着简单.灵活和无处不在的特点.你能想到的几乎所有平台都包含有一个HTTP库,所以HTTP服务可以遍及广泛的客户端,包括浏览器.移动设备和传统桌面应用程序. ASP.NET Web API是一个在.NET框架上构建web API的框架.在本教程中,你将使用ASP.NET Web API来创建一个返回产品列表的web API. 创建Web API项目 在本教程中,你将使用ASP.NET Web API来创建

Web Api入门

http://blog.csdn.net/ojlovecd/article/details/8169822 初尝Web API 分类: ASP.NET MVC教程 2012-11-10 22:05 18557人阅读 评论(2) 收藏 举报 apiasp.netASP.NETAsp.NetmvcMVCwebWeb 目录(?)[+] ASP.NET Web API 是.NET Framework上的一个框架,用来生成 web API. 本文将使用ASP.NET Web API来创建一个web API

Web API 入门三(参数绑定)

学到现在,感觉到微软的.NET各种框架和模型基础大致都差不多,所以,这部分内容大致和MVC部分差不多.在学习参事绑定之前,我们肯定要知道Controller(即控制器)是啥干啥的. 其实,Controller(控制器)就是一个类,我们可以将它 放到项目根目录文件夹下的任何位置,当然,我们一般将它放到Controllers文件夹下(这是一个很好的习惯,因为这样方便管理,更方便以后的学习,在MVC中,有一个重要的规则:约定大于配置).一个控制器类是个特殊类,类名必须以"Controller"

【Web API系列教程】1.1 — ASP.NET Web API入门

前言 HTTP不仅仅服务于web页面.同一时候也是构建暴露服务和数据的API的强大平台.HTTP有着简单.灵活和无处不在的特点.你能想到的差点儿全部平台都包括有一个HTTP库.所以HTTP服务能够遍及广泛的client,包括浏览器.移动设备和传统桌面应用程序. ASP.NET Web API是一个在.NET框架上构建web API的框架.在本教程中,你将使用ASP.NET Web API来创建一个返回产品列表的web API. 创建Web API项目 在本教程中,你将使用ASP.NET Web

Web APi入门之Self-Host(二)

这篇来讲讲WebApi的自托管,WebApi可以托管到控制台/winform/服务上,并不是一定要依赖IIS才行. 1.首先新建控制台项目,在通过Nuget搜索Microsoft.AspNet.WebApi.SelfHost 2.建立实体类 1 public class Product 2 { 3 public int Id { set; get; } 4 public string Name { set; get; } 5 public string Description { set; ge