使用 ASP.NET Core 創建 Web API
此次主要介紹使用 ASP.NET Core 構建 Web API 的基礎知識。
在本教程中,你將瞭解:
- 創建 Web API 項目。
- 添加模型類和數據庫上下文。
- 使用 CRUD 方法構建控制器。
- 配置路由、URL 路徑和返回值。
- 使用 Postman 調用 Web API。
概述本教程將創建以下 API:
API |
說明 |
請求正文 |
響應正文 |
GET /api/TodoItems |
獲取所有待辦事項 |
無 |
待辦事項的數組 |
GET /api/TodoItems/{id} |
按 ID 獲取項 |
無 |
待辦事項 |
POST /api/TodoItems |
添加新項 |
待辦事項 |
待辦事項 |
PUT /api/TodoItems/{id} |
更新現有項 |
待辦事項 |
無 |
DELETE /api/TodoItems/{id} |
刪除項 |
無 |
無 |
創建 Web 項目
從“文件”菜單中選擇“新建”>“項目” 。
選擇“ASP.NET Core Web 應用程序”模板,再單擊“下一步” 。
將項目命名爲 TodoApi,然後單擊“創建” 。
在“創建新的 ASP.NET Core Web 應用程序”對話框中,確認選擇“.NET Core”和“ASP.NET Core 3.1” 。 選擇“API”模板,然後單擊“創建” 。
添加模型類
模型 是一組表示應用管理的數據的類。 此應用的模型是單個 TodoItem
類。
- 在“解決方案資源管理器” 中,右鍵單擊項目。 選擇“添加” > “新建文件夾” 。 將文件夾命名爲“Models” 。
- 右鍵單擊“Models” 文件夾,然後選擇“添加” > “類” 。 將類命名爲 TodoItem,然後選擇“添加” 。
- 將模板代碼替換爲以下代碼:
構建控制器
- 右鍵單擊 Controllers 文件夾。
- 選擇“添加”>“新建構建項” 。
- 選擇“其操作使用實體框架的 API 控制器”,然後選擇“添加”
檢查 PostTodoItem create 方法
替換 PostTodoItem
中的返回語句,以使用 nameof 運算符:
[Route("api/posttodoitem")]
[ApiController]
public class PostTodoItemController : ControllerBase
{
public static List<TodoItem> todoItems = new List<TodoItem>() {
new TodoItem{Id=1,IsComplete=true,Name="張藝興" },
new TodoItem{Id=2,IsComplete=true,Name="鄭凱" },
new TodoItem{Id=3,IsComplete=true,Name="楊穎" },
new TodoItem{Id=4,IsComplete=true,Name="陳赫" },
new TodoItem{Id=5,IsComplete=true,Name="李晨" },
};
[HttpPost]
public async Task<ActionResult<TodoItem>> PostTodoItem(TodoItem todoItem)
{
todoItems.Add(todoItem);
return CreatedAtAction(nameof(GetTodoItem), new { id = todoItem.Id }, todoItem);
// return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem);
}
[HttpGet]
public async Task<ActionResult<List<TodoItem>>> TodoItems()
{
return await Task.Run(() => todoItems);
// return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem);
}
[HttpGet("{id}")]
public async Task<ActionResult<TodoItem>>GetTodoItem(int id)
{
var todoItem = await Task.Run(() => todoItems.Where(x => x.Id == id)); ;
if (todoItem == null)
{
return NotFound();
}
return todoItem.FirstOrDefault();
}
}
安裝 Postman
本教程使用 Postman 測試 Web API。
- 安裝 Postman
- 啓動 Web 應用\(在測試時,可在項目的文件夾下,運行 cmd
- 輸入:dotnet watch run )
例如項目位置爲:
打開Cmd
- 啓動 Postman。
- 禁用 SSL 證書驗證
- 在“文件”>“設置”(“常規”選項卡)中,禁用“SSL 證書驗證”
通過 Postman 測試 PostTodoItem
- 創建新請求。
- 將 HTTP 方法設置爲
POST
。 - 選擇“正文”選項卡 。
- 選擇“原始”單選按鈕 。
- 將類型設置爲 JSON (application/json)
- 在請求正文中,輸入待辦事項的 JSON:
{
Id:5
"name":"walk dog",
"isComplete":true
}
選擇Send。
測試位置標頭 URI
- 在Headers 窗格中選擇Response 選項卡。
- 複製Location 標頭值:
- 將方法設置爲“GET”。
- 粘貼 URI(例如,http://localhost:52655/api/posttodoitem/6)。
- 選擇Send。