在第一部分,我們創建了一個基本的ASP.NET Web API項目,新建成功了數據表,然后添加了一些測試數據,最后創建了API控制器,用json格式把數據表里面的內容成功輸出到瀏覽器上。接下來我們將繼續完成對數據的添加、修改、刪除操作。
添加操作
public HttpResponseMessage Post(Friend friend) { if (ModelState.IsValid) { db.Friends.Add(friend); db.SaveChanges(); return Request.CreateResponse(HttpStatusCode.Created, friend); } return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); }
首先對傳入的數據進行驗證,如果驗證通過,則添加到數據庫中,否則輸出錯誤信息。
修改、刪除操作
public HttpResponseMessage Put(Friend friend) { if (ModelState.IsValid) { db.Entry(friend).State = EntityState.Modified; db.SaveChanges(); var response = Request.CreateResponse(HttpStatusCode.OK, friend); return response; } return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } public HttpResponseMessage Delete(int id) { var friend = db.Friends.Find(id); if (friend != null) { db.Friends.Remove(friend); db.SaveChanges(); return Request.CreateResponse(HttpStatusCode.OK, friend); } return Request.CreateResponse(HttpStatusCode.NotFound); }
和添加操作類似,用Linq語句操作Entity Framework,代碼非常簡潔高效。不同的方法名也對應了不同的操作,Get對應讀取操作,Post對應添加操作,Put對應修改操作,Delete對應刪除操作。
API接口測試
Advanced Rest Client是Chrome瀏覽器的一個插件,因此在瀏覽器上就可以直接調試各類API接口,比安裝其他軟件方便。只是這個插件要到Chrome應用商店去下載,因為被國內屏蔽的原因,需要翻牆后才能訪問,下載地址是:https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo
測試過程比較簡單,注意要選擇對應的方法Get、Post、Put或Delete。
下面這是調用刪除數據的接口截圖。
下面是對這次API接口程序每個方法和URL地址的對應表格。
控制器方法 | URL地址 | 功能 |
---|---|---|
Get | /api/friend | 讀取全部數據 |
Post | /api/friend (Friend model) | 添加一條記錄 |
Put | /api/friend (Friend model) | 修改一條記錄 |
Delete | /api/friend/id | 刪除一條記錄 |