經過了前面幾週的學習,我們已經掌握了 C# 的語法、物件導向、LINQ、非同步,以及單元測試。今天要正式踏入實務開發中最常見、也最關鍵的部分之一 —— Web API 開發。ASP.NET Core 是微軟官方推出的跨平台開發框架,可以在 Windows、macOS、Linux 上開發與執行。不論是企業內部系統、行動 App 後端,或微服務架構,ASP.NET Core 都是穩定且高效的選擇。
API(Application Programming Interface) 是應用程式之間的溝通橋樑,當我們使用前端網頁或行動 App 時,背後就是透過 Web API 與伺服器交換資料。
而ASP.NET Core Web API 允許我們:
在終端機輸入以下指令:
dotnet new webapi -n MyFirstApi
cd MyFirstApi
建立完成後,你的目錄結構大致如下:
MyFirstApi/
├── Controllers/
│ └── WeatherForecastController.cs
├── Program.cs
├── appsettings.json
└── MyFirstApi.csproj
執行命令:
dotnet run
輸出結果會顯示:
打開瀏覽器,輸入 http://localhost:5246/weatherforecast
就能看到 ASP.NET Core 自帶的範例 JSON:
🎉 這代表第一個 Web API 已經運作成功!
而在上述專案中,Program.cs
是整個 API 的入口點,包含:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.UseAuthorization();
app.MapControllers();
app.Run();
接下來要來建立自己的 Controller。首先,在 Controllers 資料夾下新增檔案 HelloController.cs:
using Microsoft.AspNetCore.Mvc;
namespace MyFirstApi.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class HelloController : ControllerBase
{
[HttpGet]
public IActionResult Get()
{
return Ok(new { message = "Hello, IT 鐵人賽!這是我的第一個 API 🚀" });
}
}
}
並且要在Program.cs
做以下更動:
然後執行 dotnet run,然後在瀏覽器打開:
http://localhost:5246/api/hello
就會看到:
接下來可以試著在同一個 Controller 裡加入以下方法:
[HttpGet("{name}")]
public IActionResult Greet(string name)
{
return Ok(new { message = $"哈囉,{name}!歡迎來到 ASP.NET Core 世界 🎉" });
}
然後瀏覽:
http://localhost:5246/api/hello/傑西卡
結果會是:
而在ASP.NET Core 內建 Swagger (OpenAPI) 支援,執行後打開瀏覽器輸入:
https://localhost:7181/swagger
就會看到一個互動式介面,可以直接測試 API,這在開發與測試階段非常實用。
今天正式踏入了 Web 開發的世界!從建立專案、撰寫控制器,到透過 Swagger 測試 API,這些步驟構成了許多企業系統與服務的基礎,對API有了初步的認識與了解,接下來會從建立 API 專案、、更熟悉Routing 與 Controller繼續往下學習!!