ASP.NET Web API 基本操作(CRUD)

时间:2022-01-04 08:02:33

上一篇介绍了ASP.NET Web API的基本知识和原理,这一篇我们通过一个更直观的实例,对产品进行CRUD操作(Create/Read/Update/Delete)来继续了解一下它的基本应用。

创建ASP.NET Web API应用程序 

在VS中选择创建一个ASP.NET Web Application应用程序,,在向导的下一个窗口中选择Web API模板。

创建Model

这里我们在Models文件夹下创建一个简单的Product model类,用来传递数据。

Models文件夹上点击右键,选择Add -> Class

public class Product { public int ProductID { get; set; } public string ProductName { get; set; } public decimal Price { get; set; } public int Count { get; set; } public string Description { get; set; } }


创建Controller

接着在Controllers文件夹下创建一个API Controller, 命名为"ProductsController"。

Controllers文件夹上点击右键,选择Add -> Controller ,在弹出向导中选择Web API 2 Controller - Empty

在向导下一步中输入API Controller name为"ProductsController"。

创建Web API方法(CRUD)并通过JQuery和Ajax进行数据操作

1.获取Product列表

首先打开ProductsController文件,添加模拟数据以及获取Product列表的方法。

public class ProductsController : ApiController { // Mock product list static List<Product> productMockList =http://www.mamicode.com/ initProductMockDataList(); private static List<Product> initProductMockDataList() { return new List<Product>() { new Product {ProductID=http://www.mamicode.com/1,ProductName=http://www.mamicode.com/"Product A",Price=http://www.mamicode.com/1000000,Count=http://www.mamicode.com/5,Description=http://www.mamicode.com/"Description A"}, new Product {ProductID=http://www.mamicode.com/2,ProductName=http://www.mamicode.com/"Product B",Price=http://www.mamicode.com/200000,Count=http://www.mamicode.com/2,Description=http://www.mamicode.com/"Description B"}, new Product {ProductID=http://www.mamicode.com/3,ProductName=http://www.mamicode.com/"Product C",Price=http://www.mamicode.com/500000,Count=http://www.mamicode.com/8,Description=http://www.mamicode.com/"Description C"}, new Product {ProductID=http://www.mamicode.com/4,ProductName=http://www.mamicode.com/"Product D",Price=http://www.mamicode.com/80000,Count=http://www.mamicode.com/10,Description=http://www.mamicode.com/"Description D"}, new Product {ProductID=http://www.mamicode.com/5,ProductName=http://www.mamicode.com/"Product E",Price=http://www.mamicode.com/300000,Count=http://www.mamicode.com/3,Description=http://www.mamicode.com/"Description E"} }; } // GET api/products public IEnumerable<Product> GetAllProducts() { return productMockList; } }