谈谈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 也有了一个初步的认识
相关文章:
C++ boost::asio编程-域名解析详细介绍
正则在C++中使用的详细介绍
相关视频:
C# 教程
以上就是详细介绍C# 中 ASP.NET Web API 的 ROC的详细内容,更多请关注php中文网其它相关文章!
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
程序员必备接口测试调试工具:点击使用
Apipost = Postman + Swagger + Mock + Jmeter
Api设计、调试、文档、自动化测试工具
网页生成APP,用做网站的技术去做APP:立即创建
手机网站开发APP、自助封装APP、200+原生模块、2000+映射JS接口按需打包
相关文章
相关视频