在第一部分,我們創建了一個基本的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 | 刪除一條記錄 |
