【.NET 6】開發(fā)minimal api以及依賴注入的實現(xiàn)和代碼演示
時間:2023-05-29 00:00:02 | 來源:網(wǎng)站運營
時間:2023-05-29 00:00:02 來源:網(wǎng)站運營
【.NET 6】開發(fā)minimal api以及依賴注入的實現(xiàn)和代碼演示:
前言:.net 6 LTS版本發(fā)布已經(jīng)有一段時間了。此處做一個關于使用.net 6 開發(fā)精簡版webapi(minimal api)的入門教程演示。
1、新建一個項目。此處就命名為 SomeExample:
2、選擇 .net6版本,并且此處先去掉HTTPS配置以及去掉使用控制器的選項:
3、創(chuàng)建完成以后,原始畫面如下所示。并且,解決方案一欄只剩下program文件,其他文件都被精簡掉了。并且沒有Main函數(shù)入口和命名空間等。
4、接下來開始做幾個簡單的webapi方法案例。先刪掉原有的,替換為自定義的來個webapi方法,一個Get,一個Post。具體代碼如下圖所示。
5、運行以后,會打開自帶的swagger頁面。大佬們可以自行比對代碼部分和swagger部分的一些特點。
6、執(zhí)行HelloWorld這個Get方法的執(zhí)行結果,如下圖所示。
NET6零基礎教程
學習.NET6技術,講解.NET6從入門到實戰(zhàn),解密.ASP.NETCore框架詳細揭秘,應用實戰(zhàn)實操,.NET6+微服務架構實戰(zhàn),容器技術Docker、WebAPI等揭秘,都是免費的,非常值得學習喲。
本教程16個視頻課時,主要以.NET6背景,框架設計,.NET6從入門到精通-代碼+腳本+文檔展開。從環(huán)境準備到ASP.NETCore開發(fā),系統(tǒng)得梳理了各項流程,從零開始了解基于C#語言開發(fā)的工具、項目,跟著實操。最終能獨立完成基于.NET語言的基本開發(fā)。
資料免費自?。?/h3>由于內(nèi)容過多不便呈現(xiàn),需要視頻教程和配套源碼的小伙伴,可點擊下方鏈接
也可直接點擊下方卡片:點擊后可自動復制威芯號,并跳轉(zhuǎn)到威芯。得辛苦大家自行搜索威芯號添加。內(nèi)容已做打包,添加后直接發(fā)送注意查收!
7、執(zhí)行HelloMiniApi這個Post方法的執(zhí)行結果,如下圖所示。
8、Api根據(jù)不同的用途,在swagger展示上面,咱們還可以對它進行一些分類。分類通過設置Tags標簽來實現(xiàn),具體設置內(nèi)容:在方法的末尾設置WithTags,里面指定分類的顯示的名稱。運行以后的swagger展示效果和有關代碼,如下圖所示。
9、對api方法進行分代碼文件管理。如果API方法很多,全寫在program里面也不現(xiàn)實。所以下面做個拓展。新建用于測試使用的靜態(tài)類 TestService,并且實現(xiàn)一個靜態(tài)方法 TestApi。其中,方法的參數(shù)必須是 this WebApplication。然后就可以通過傳入的參數(shù),來拓展實現(xiàn)webapi,例如此處新增一個ServiceApi的api方法,以及有關其他實現(xiàn),如下圖所示。
10、新增拓展的api以后,需要在program文件里面引用使用,詳細內(nèi)容如下圖所示。
11、運行以后的swagger展示圖。
12、測試下執(zhí)行結果,返回預期結果,說明測試成功。
13、測試下VS 2022熱重載的功能,在返回值里面進行修改,然后點擊熱重載小火苗按鈕進行熱更新。
14、熱更新以后,不需要重新編譯,直接在swagger展示頁對剛才設置的api方法進行調(diào)用,調(diào)用結果如下圖所示,說明熱重載更新成功。將來遇到需要調(diào)試的代碼時候,大佬們都可以很方便地進行熱更新,無需重新編譯,可以大大提高效率。
15、接下來是依賴注入的驗證測試。新增一個測試服務類 TestDependencyInjection,具體實現(xiàn)內(nèi)容如圖所示。
16、TestDependencyInjection對應的接口 ITestDependencyInjection內(nèi)容:
17、在program文件里面,對上面的服務進行注冊。此處注冊一個單例實例,具體代碼如下圖展示。
18、接下來是驗證依賴注入是否成功。此處我在ServiceApi這個webapi方法里面進行注入。注入需要注意事項:在webapi方法的委托類型的參數(shù)里面,第一個參數(shù)必須是HttpContext;然后后面是自己的參數(shù),此處是注入服務的接口。并且在api方法里面調(diào)用了show方法進行驗證。
19、運行程序,在swagger展示頁面點擊執(zhí)行對應的webapi方法,并查看結果。如下圖所示,輸出show方法里面的內(nèi)容,代表依賴注入成功。
20、再擴展個VS2019開始擁有的一個隱藏技能:引用的第三方或者nuget包時候(不限制.net 版本),在對應的封裝的類或者方法上面,按F12,可以直接進入到反編譯以后的代碼里面去,可以看到封裝的源碼。例如此處以UseSwagger為例,在此處按F12進去瞅瞅究竟。
21、正常情況下咱們應該F12進去只能看見屬性名稱、方法名稱,看不到具體實現(xiàn)。而現(xiàn)在是可以看到具體實現(xiàn)的代碼的。如下圖所示,方法里面的具體代碼都有,也可以繼續(xù)進一步F12去看底層的代碼。
以上就是該篇博客的全部內(nèi)容,如果覺得有幫助,歡迎大家留言、轉(zhuǎn)發(fā)、推薦或點贊。
原文鏈接:【.NET 6】開發(fā)minimal api以及依賴注入的實現(xiàn)和代碼演示。