通過使用Http定義的伺服器的交互方法,進行更新與刪除。 PUT通常用於向伺服器發送請求,如果URI不存在,則要求伺服器根據請求創建資源,如果存在,伺服器就接受請求內容,並修改URI資源的原始版本。如果新的資源被創建,這個原始伺服器就必須通過201(Created)響應通知用戶代理。如果已有... ...
使用 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地址,如下圖。數據已經不存在了。