2021年4月5日 星期一

ASP.NET Core 3.1 使用 AutoMapper

在 Web 的世界,大量的資料處理與交換是必須的,故對於資料的提供與轉換上

的所花費的工,當然是越少越好;情境上可能會是介接第三方 WebApi 以及回傳

對應的資料格式,要完成這些任務雖不難,但是瑣碎,邏輯管理上也挺繁雜的,

幸好 AutoMapper 可以協助減輕這類的工作。


這次主要示範如何在 .NET Core WebApi 如何使用 AutoMapper。

安裝 NuGet 套件

建立一個 WebApi 專案,並且加入AutoMapper.Extensions.Microsoft.DependencyInjection

套件,安裝時會一併將相依的部分詢問並加入




註冊 AutoMapper


Controller 注入與應用




資料轉換設計

設定 User 與 UserViewModel 類別,其中 User 類別有 FirstName 與LastName 屬性,

而 UserViewModel 僅有 Name,需要將 FirstName 合併 LastName



透過繼承 Profile ,並且於建構式實現轉換,其中可以使用 ForMember 方法來刻化細節



意外插曲

在測試之初,我的方案有兩個專案,一個Web Api,另一個是Console ,一開始在 WebApi 安裝

套件後,再註冊類別時 VS 一直出現錯誤,錯誤訊息說明不認識 AddAutoMapper 方法,經過重

新安裝套件並檢視版本相依性後,還是無解;最後,無計可施只好關掉VS 後重開專案,神奇的

就正常了,搞得好累...


參考

沒有留言:

張貼留言