iT邦幫忙

2025 iThome 鐵人賽

DAY 25
0
佛心分享-IT 人自學之術

30 天從 Python 轉職場 C# 新手入門系列 第 25

Day25-ASP.NET Core 入門:建立第一個 Web API

  • 分享至 

  • xImage
  •  

前言

經過了前面幾週的學習,我們已經掌握了 C# 的語法、物件導向、LINQ、非同步,以及單元測試。今天要正式踏入實務開發中最常見、也最關鍵的部分之一 —— Web API 開發。ASP.NET Core 是微軟官方推出的跨平台開發框架,可以在 Windows、macOS、Linux 上開發與執行。不論是企業內部系統、行動 App 後端,或微服務架構,ASP.NET Core 都是穩定且高效的選擇。


什麼是 Web API?

API(Application Programming Interface) 是應用程式之間的溝通橋樑,當我們使用前端網頁或行動 App 時,背後就是透過 Web API 與伺服器交換資料。
而ASP.NET Core Web API 允許我們:

  • 定義路由(例如 /api/users)
  • 處理 HTTP 請求(GET、POST、PUT、DELETE)
  • 回傳 JSON 結果給前端

🧩 建立第一個 Web API 專案

第一步:建立專案

在終端機輸入以下指令:

dotnet new webapi -n MyFirstApi
cd MyFirstApi

建立完成後,你的目錄結構大致如下:
MyFirstApi/
├── Controllers/
│ └── WeatherForecastController.cs
├── Program.cs
├── appsettings.json
└── MyFirstApi.csproj

第二步:執行專案

執行命令:

dotnet run

輸出結果會顯示:
https://ithelp.ithome.com.tw/upload/images/20251007/20178767a9W9Z21hWZ.png

打開瀏覽器,輸入 http://localhost:5246/weatherforecast
就能看到 ASP.NET Core 自帶的範例 JSON:
https://ithelp.ithome.com.tw/upload/images/20251007/20178767f9aA3aEHSM.png
🎉 這代表第一個 Web API 已經運作成功!
而在上述專案中,Program.cs是整個 API 的入口點,包含:

  • 啟動 Web 伺服器
  • 註冊服務(如控制器、Swagger)
  • 設定中介層(Middleware)
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

接下來要來建立自己的 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做以下更動:
https://ithelp.ithome.com.tw/upload/images/20251007/20178767C4eRlDxS6O.png
然後執行 dotnet run,然後在瀏覽器打開:
http://localhost:5246/api/hello
就會看到:
https://ithelp.ithome.com.tw/upload/images/20251007/20178767d1BRnd8PzV.png

接下來可以試著在同一個 Controller 裡加入以下方法:

[HttpGet("{name}")]
public IActionResult Greet(string name)
{
    return Ok(new { message = $"哈囉,{name}!歡迎來到 ASP.NET Core 世界 🎉" });
}

然後瀏覽:
http://localhost:5246/api/hello/傑西卡
結果會是:
https://ithelp.ithome.com.tw/upload/images/20251007/201787675Dc3V38q5V.png

而在ASP.NET Core 內建 Swagger (OpenAPI) 支援,執行後打開瀏覽器輸入:
https://localhost:7181/swagger
就會看到一個互動式介面,可以直接測試 API,這在開發與測試階段非常實用。


結語

今天正式踏入了 Web 開發的世界!從建立專案、撰寫控制器,到透過 Swagger 測試 API,這些步驟構成了許多企業系統與服務的基礎,對API有了初步的認識與了解,接下來會從建立 API 專案、、更熟悉Routing 與 Controller繼續往下學習!!


上一篇
Day24-單元測試 (Unit Testing):用 xUnit 為你的程式寫保險
下一篇
Day26-Routing 與 Controller(ASP.NET Core Web API 教學)
系列文
30 天從 Python 轉職場 C# 新手入門26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言