2024年2月23日 星期五

ASP.NET Core Web API/Minimal API微服務開發實務範例、如何使用REST Client測試Minimal API





作者:高光弘
  精誠資訊/恆逸教育訓練中心資深講師



在現代軟體開發中,建立可靈活擴展且易於維護的應用程式是一個關鍵挑戰。為了滿足這些需求,許多開發者轉向微服務架構,並使用Web API/Minimal API作為開發和部署應用程式的實作手段。


Minimal API是一種以簡單、直觀的方式建立輕量級Web API的方法。相較於傳統的Web API,Minimal API更加精簡,減少了冗餘程式碼和配置,使開發者能夠專注於實現核心商業邏輯。


本文將介紹如何使用REST Client來測試Minimal API。REST Client是一個強大的工具,可以幫助開發人員模擬HTTP請求和回應,從而驗證API的正確性和可靠性。


什麼是微服務

微服務是一種架構,將應用程式拆分為一組小型、獨立部署的服務,每個服務都專注於執行特定的商業邏輯。每個微服務都可以獨立開發、部署和擴展,這使得軟體團隊可以更快速地發布新功能。


什麼是Web API

Web API(網路應用程式介面)是一種通過網際網路提供服務的應用程式介面。透過 HTTP協定來進行通信和資料交換。Web API可以作為服務的端點。


什麼是Minimal API

Minimal API相較於Web API,使用更輕量、簡單且直觀的方法,以最小的程式碼和複雜度來實現所需的功能。這種方法通常與特定的開發框架或平台相關,例如ASP.NET Core中的Minimal API。



Minimal API實作開發範例

使用Visual Studo 2022建立【ASP.NET Core Empty】專案,直接在Program.cs實作Category服務。

  • /categories傳回所有Category資料
  • /categories/{id}傳回指定id對應的Category資料



如何使用REST Client測試Minimal API

Visual Studo 2022在.17.8版之後,提供一個便利的方式可以測試Web API或Minimal API稱為REST Client,只需要在專案加入新項目【HTTP File】就可以使用REST Client進行測試。


由於REST Client進行測試所需要的路徑為絕對路徑,這個資訊可以從專案的【launchSettings.json】取得,注意要依啟動方式找到對應的設定值。


在app.http檔案加入用來測試Minimal API的指令,用###來分隔多個Request

    GET http://localhost:5188/categories
    ###
    GET http://localhost:5188/categories/1             


啟動程式後,點選【Send Request】連接,得到Category集合,資料已轉換成JSON格式。


接著點選第二個測試連結,取得id為1的Category資料。


總結

微服務架構可以使用Web API/Minimal API技術進行實作,Minimal API相較早先的Web API,程式碼部分是更加簡略,不需要Controller。測試Web API/Minimal API的方式,除了可以使用傳統的POSTMAN工具之外,現行的Visual Studio 2022提供另一種便利的測試手段—REST Client,讓Web API/Minimal API的測試更加直覺簡單。

想要以微服務架構實作ASP.NET Core Web API/Minimal API,對傳統使用C#開發人員的挑戰並不小,以下是開發人員應該具備的基礎知識:

1.  C#語言:尤其是泛型委派與Lambda運算式。

2.   ASP.NET Core理解MiddlewareDIRoutingConfigurationLogging等基本概念。

3.   HTTP協議:了解HTTP方法、狀態碼、標頭和主體等基本知識。

4.  RESTful API設計原則:熟悉URI設計、資源定義、HTTP方法使用、狀態碼選擇等設計原則。

5.  資料庫存取:使用ADO.NETEntity Framework Core對資料庫進行資料處理。

6.  Docker了解Docker可以幫助更輕鬆地部署和運行ASP.NET Core Web API

 

由於需要具備的知識多且雜,UAC399ASP.NET Core Web API/Minimal API微服務開發實務 課程,即針對以上內容設計,讓開發人員能透過單一課程訓練掌握ASP.NET Core Web API/Minimal API微服務開發實作方法。

如果您已具備C#程式開發經驗,想學習ASP.NET Core Web API的話,UAC399ASP.NET Core Web API/Minimal API微服務開發實務 課程,更是目前最適合您的課程。



課程學習重點影片介紹





0 意見:

張貼留言