在上回中我們介紹了 [Day20] C# MVC RESTful API (中) 建立API專案 - C#&AspNetCore ,我們在原本的MVC專案中加入了WEB API專案。
而這回將會撰寫RESTful API!
本文會以:https://docs.microsoft.com/zh-tw/aspnet/core/tutorials/first-web-api?view=aspnetcore-3.1&tabs=visual-studio 提供的範例作為實作依據。
RESTful API規格
方法 | 網址 | 描述 | 要求文本 | 回應文本 |
---|---|---|---|---|
GET | /api/todo |
取得所有待辦事項 | 無 | 待辦事項陣列 |
GET | /api/todo/{id} |
依識別碼取得待辦事項 | 無 | 待辦事項 |
POST | /api/todo |
新增待辦事項 | 待辦事項 | 待辦事項 |
PUT | /api/todo/{id} |
更新現有的待辦事項 | 待辦事項 | 待辦事項 |
DELETE | /api/todo/{id} |
刪除待辦事項 | 無 | 待辦事項 |
實作RESTful API
先安裝基本資料庫套件
1.Microsoft.EntityFrameworkCore
2.Microsoft.EntityFrameworkCore.SqlServer
3.Microsoft.EntityFrameworkCore.Tools
4.使用DB First
用Scaffold-DbContext
指令,來還原TodoDB資料庫的Models
1 | Scaffold-DbContext "Server=.\SQLExpress;Database=TodoDB;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models |
執行畫面:
執行後:
5.Startup.cs增加資料庫配置
1 | // This method gets called by the runtime. Use this method to add services to the container. |
6.撰寫RESTful API
~/Controllers/TodoController.cs
1 | using System.Collections.Generic; |
7.用postman測試
專案程式碼:
https://github.com/yuhsiang237/ASP.NET-Core-RESTfulAPI
總結
這樣就完成了RESTful API了!