使用 ASP.NET Core MVC 建立 Web APIhtml
使用 ASP.NET Core MVC 建立 Web API(一)數據庫
使用 ASP.NET Core MVC 建立 Web API(二)編程
使用 ASP.NET Core MVC 建立 Web API(三)json
使用 ASP.NET Core MVC 建立 Web API(四)api
Http定義了與 服務器的交互方法,其中除了通常咱們用的最多的GET,POST這兩個方法以外, 其實還有PUT和DELETE。瀏覽器
PUT一般用於向服務器發送請求,若是URI不存在,則要求服務器根據請求建立資源,若是存在,服務器就接受請求內容,並修改URI資源的原始版本。若是新的資源被建立,這個原始服務器就必須經過201(Created)響應通知用戶代理。若是已有資源被修改,則發送200或者204響應,表示成功完成了該請求。服務器
PutBookItem
與 PostBookItem
相似,可是使用的是 HTTP PUT。 響應是 204(無內容)。 根據 HTTP 規範,PUT 請求須要客戶端發送整個更新的實體,而不單單是更改。若是在調用 PutBookItem
時出錯,請先調用 GET
方法以確保數據庫中有指定的書籍信息。app
在Visual Studio 2017中打開BookController.cs文件,添加如下 PutBookItem
方法:async
// 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 調用的書籍信息數據。post
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(); }
在進行 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地址,以下圖。數據已經不存在了。