用ASP.NET Web API技術開發HTTP接口(二)

在第一部分,咱們建立了一個基本的ASP.NET Web API項目,新建成功了數據表,而後添加了一些測試數據,最後建立了API控制器,用json格式把數據表裏面的內容成功輸出到瀏覽器上。接下來咱們將繼續完成對數據的添加、修改、刪除操做。web

添加操做

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);
}

首先對傳入的數據進行驗證,若是驗證經過,則添加到數據庫中,不然輸出錯誤信息。chrome

修改、刪除操做

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應用商店去下載,由於被國內屏蔽的緣由,須要FQ後才能訪問,下載地址是:https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloojson

測試過程比較簡單,注意要選擇對應的方法Get、Post、Put或Delete。api

下面這是調用刪除數據的接口截圖。瀏覽器

下面是對此次API接口程序每一個方法和URL地址的對應表格。測試

控制器方法 URL地址 功能
Get /api/friend 讀取所有數據
Post /api/friend (Friend model) 添加一條記錄
Put /api/friend (Friend model) 修改一條記錄
Delete /api/friend/id 刪除一條記錄
相關文章
相關標籤/搜索