在 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 後重開專案,神奇的
就正常了,搞得好累...
參考
沒有留言:
張貼留言