谈谈REST与ASP.NET Web API
怎样理解 REST、RESTful
关于什么是 Web API seaconch 也就不再这里多说了
web api 是一个 面向资源(ROC) 通过 HTTP协议动词来修改资源状态的可自我寄宿(SelfHost)的接口
今天 seaconch 的主要目的是实现一个简单的 ASP.NET Web API 栗子
新建一个 ASP.NET Web API 项目Person类:
////// 人 /// 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.DbSetPersons { get; set; } protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove (); } } public class Db_Initer : System.Data.Entity.DropCreateDatabaseAlways { 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); } } }
public class PersonController : ApiController { Models.Person_Context person_db = new Models.Person_Context(); public ListGet() { return person_db.Persons.ToList(); } }
这里我们用小程序来测试效果
这里我们在 Post API 中,添加了一个新的 Person -> 布布
public ListPost() { 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
对 Person 的 PUT 请求public ListPut() { 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 也有了一个初步的认识
相关文章:
C++ boost::asio编程-域名解析详细介绍
正则在C++中使用的详细介绍
相关视频:
C# 教程
以上就是详细介绍C# 中 ASP.NET Web API 的 ROC的详细内容,更多请关注其它相关文章!