web api 是一個 面向資源(ROC) 通過 HTTP協議動詞來修改資源狀態的可自我寄宿(SelfHost)的介面今天 seaconch 的主要目的是實現一個簡單的 ASP.NET Web API 栗子
什麼是Web API
談談REST與ASP.NET Web API
怎樣理解 REST、RESTful
關於什麼是 Web API seaconch 也就不再這裡多說了
web api 是一個 面向資源(ROC) 通過 HTTP協議動詞來修改資源狀態的可自我寄宿(SelfHost)的介面
今天 seaconch 的主要目的是實現一個簡單的 ASP.NET Web API 栗子
建立一個 ASP.NET Web API 項目
1.建立項目
2.選擇 Web API
3.建立 Person 類
Person類:
/// <summary> /// 人 /// </summary> public class Person { public int ID { get; set; } public string Name { get; set; } public int Sex { get; set; } public int Age { get; set; } }
4.建立 Person_Context 類
Person_Context 類:
using System.Collections.Generic;namespace chestnut_webapi.Models{ public class Person_Context : System.Data.Entity.DbContext { public Person_Context() : base("name=sc_db") { } public System.Data.Entity.DbSet<Person> Persons { get; set; } protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<System.Data.Entity.ModelConfiguration.Conventions.PluralizingTableNameConvention>(); } } public class Db_Initer : System.Data.Entity.DropCreateDatabaseAlways<Person_Context> { protected override void Seed(Person_Context context) { context.Persons.Add(new Person() { Name = "毛毛", Age = 13, Sex = 1 }); context.Persons.Add(new Person() { Name = "團團", Age = 12, Sex = 2 }); base.Seed(context); } }}
5.配置連接字串
6.配置 EF 初始資料
對 Person 的 Get 請求
1.建立Controller
右鍵 Controllers 建立一個空的 API
2.GET:
public class PersonController : ApiController { Models.Person_Context person_db = new Models.Person_Context(); public List<Models.Person> Get() { return person_db.Persons.ToList(); } }
3.調用API
這裡我們用小程式來測試效果
對 Person 的 POST 請求
1.Post
這裡我們在 Post API 中,添加了一個新的 Person -> 布布
public List<Models.Person> Post() { Models.Person p = new Models.Person() { ID = 1, Name = "布布", Age = 5, Sex = 1 }; person_db.Persons.Add(p); person_db.SaveChanges(); return person_db.Persons.ToList(); }
2.小程式代碼
相信有心的同學已經發現了,小程式中我們只修改了method 由 GET -> POST
對 Person 的 PUT 請求
1.PUT
public List<Models.Person> Put() { Models.Person person = person_db.Persons.Where(p => p.Name == "團團").ToList().Single(); person.Name = "圓圓"; person_db.SaveChanges(); return person_db.Persons.ToList(); }
2.小程式代碼
結尾
至此,一個簡單的對 Person 進行 HTTP GET / POST / PUT 操作的 ASP.NET Web API 已經呈現在了大家面前
過程中我們也可以看到,為什麼說 ASP.NET Web API 是 ROC ?你也可以看到對於小程式而言,她僅僅是修改了請求 method,那麼就實現了對 Person 這個資源的不同操作
然而我們並沒有開放對於 Person 資源的 DELETE 請求方式,那麼相應的我們就等於並沒有對外開放 Person 的刪除方式
好了,今天就到這啦,相信大家對於 ASP.NET Web API 也有了一個初步的認識
相關文章:
C++ boost::asio編程-網域名稱解析詳細介紹
正則在C++中使用的詳細介紹
相關視頻:
C# 教程