使用 ASP.NET Core MVC 創建 Web API
使用 ASP.NET Core MVC 創建 Web API(一)
使用 ASP.NET Core MVC 創建 Web API(二)
使用 ASP.NET Core MVC 創建 Web API(三)
使用 ASP.NET Core MVC 創建 Web API(四)
十五、添加更新方法
Http定義了與 服務器的交互方法,其中除了一般我們用的最多的GET,POST這兩個方法之外, 其實還有PUT和DELETE。
PUT通常用於向服務器發送請求,如果URI不存在,則要求服務器根據請求創建資源,如果存在,服務器就接受請求內容,並修改URI資源的原始版本。如果新的資源被創建,這個原始服務器就必須通過201(Created)響應通知用戶代理。如果已有資源被修改,則發送200或者204響應,表示成功完成了該請求。
PutBookItem
與 PostBookItem
類似,但是使用的是 HTTP PUT。 響應是 204(無內容)。 根據 HTTP 規范,PUT 請求需要客戶端發送整個更新的實體,而不僅僅是更改。如果在調用 PutBookItem
時出錯,請先調用 GET
方法以確保數據庫中有指定的書籍信息。
在Visual Studio 2017中打開BookController.cs文件,添加以下 PutBookItem
方法:
// PUT: api/Book/5 [HttpPut("{id}")] public async Task<IActionResult> PutBookItem(int id, Book item) { if (id != item.ID) { return BadRequest(); } _context.Entry(item).State = EntityState.Modified; await _context.SaveChangesAsync(); return NoContent(); }
一)測試 PutBookItem
方法
在進行 PUT 調用之前,在數據庫中必須要有所要修改的書籍信息。請先調用 GET 方法以確認數據庫中存在進行 PUT 調用的書籍信息數據。
1) 在Visual Studio 2017中按F5,啟動BookApi應用程序。
2) 打開Firefox瀏覽器,並打開 Rester,在Reseter中,將 HTTP 方法設置為 PUT
。
3) 選擇“Headers”選項卡,選擇“Content-Type”選項,並將值設置為 JSON (application/json)。
4) 然后選擇“BODY”選項卡,在請求正文中,輸入書籍信息的 JSON,如下圖:
JSON字符串:{
"id": 24,
"name": "Python編程實例",
"releaseDate": "2018-03-02",
"price": 59.49,
"author": "馬瑟斯",
"publishing": "機械工業出版社",
"rowVersion": "AAAAAAAANrE="
}
5) 使用鼠標左鍵,單擊“SEND”按鈕。 響應返回204,這次修改成功。結果如下圖。
6) 如下圖,我們對ID=24的書籍信息進行了修改。我們來看一下更新前后的變化。
十六、添加刪除方法
我們通過Http定義的DELETE方法刪除一條書籍信息。DELETE請求就是執行相應的刪除操作,配合數據庫進行相應的刪除動作。
DeleteBookItem
使用的是 HTTP DELETE。 響應是 204(無內容)。
在Visual Studio 2017中打開BookController.cs文件,添加以下 DeleteBookItem
方法:
// DELETE: api/Book/5 [HttpDelete("{id}")] public async Task<IActionResult> DeleteBookItem(int id) { var book = await _context.Book.FindAsync(id); if (book == null) { return NotFound(); } _context.Book.Remove(book); await _context.SaveChangesAsync(); return NoContent(); }
一) 測試 DeleteBookItem方法
在進行 DELETE 調用之前,在數據庫中必須要有所要刪除的書籍信息。請先調用 GET 方法以確認數據庫中存在進行 DELETE 調用的書籍信息數據。
1) 在Visual Studio 2017中按F5,啟動BookApi應用程序。
2) 打開Firefox瀏覽器,並打開 Rester,在Reseter中,將 HTTP 方法設置為 DELETE
。
3) 然后在URL輸入框中輸入要刪除的對象URI,例如 http://localhost:5000/api/book/24
4) 使用鼠標,點擊“Send”按鈕。如下圖。
5) 刪除成功,如下圖。
6)如果數據庫中沒有我們所要刪除的數據,則會提示如下圖。
7) 我們在瀏覽器中查詢剛才的URI地址,如下圖。數據已經不存在了。