web api 是一个 面向资源(ROC) 通过 HTTP协议动词来修改资源状态的可自我寄宿(SelfHost)的接口 今天 seaconch 的主要目的是实现一个简单的 ASP.NET Web API 栗子
谈谈REST与ASP.NET Web API
怎样理解 REST、RESTful
关于什么是 Web API seaconch 也就不再这里多说了
web api 是一个 面向资源(ROC) 通过 HTTP协议动词来修改资源状态的可自我寄宿(SelfHost)的接口
今天 seaconch 的主要目的是实现一个简单的 ASP.NET Web API 栗子
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; } }
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); } } }
右键 Controllers 新建一个空的 API
public class PersonController : ApiController { Models.Person_Context person_db = new Models.Person_Context(); public List<Models.Person> Get() { return person_db.Persons.ToList(); } }
这里我们用小程序来测试效果
这里我们在 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(); }
相信有心的同学已经发现了,小程序中我们只修改了method 由 GET -> POST
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(); }
至此,一个简单的对 Person 进行 HTTP GET / POST / PUT 操作的 ASP.NET Web API 已经呈现在了大家面前
过程中我们也可以看到,为什么说 ASP.NET Web API 是 ROC ?你也可以看到对于微信小程序而言,她仅仅是修改了请求 method,那么就实现了对 Person 这个资源的不同操作
然而我们并没有开放对于 Person 资源的 DELETE 请求方式,那么相应的我们就等于并没有对外开放 Person 的删除方式
好了,今天就到这啦,相信大家对于 ASP.NET Web API 也有了一个初步的认识
相关文章:
相关视频:
Atas ialah kandungan terperinci 详细介绍C# 中 ASP.NET Web API 的 ROC. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!