詳細介紹C# 中 ASP.NET Web API 的 ROC

來源:互聯網
上載者:User
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# 教程

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.