隨著 Tim Corey 構建 Postman Clone
在這堂課中,我們深入探討如何 構建一個Postman克隆,通過仔細設置應用程式的基礎。 Tim Corey在他的課程的第二課中解釋了這個過程,專注於專案設置而不是功能或API邏輯。 這個階段的目標不是創建請求、處理回應或與REST API工作,而是在一開始就確保應用程式的結構設計正確。
Tim引入了這一課程,作為整個課程的一部分,展示如何從頭開始構建您自己的Postman風格工具。 他解釋說,這個專案旨在幫助使用者理解應用程式的生命週期,從設置到增強,最終變成可能像真正的Postman替代品的東西。這課程對初學者友好,並且故意進行得較慢,以便使用者能夠跟上並理解為什麼做出每一個決策。
通過觀看這段影片 - "設置我們的專案:構建Postman克隆課程", Tim幫助觀眾理解如何正確設置Windows Forms應用程式,將其連接到支援的類庫,並為未來的API開發做好準備。
課程簡介和目的
Tim首先解釋了這一課是關於設置構建Postman克隆所需的初始結構。 他明確指出,目前的重點不是發送API請求或處理JSON回應,而是在於創建專案、正確配置它們並讓所有事情準備就緒。
他解釋了這個課程設計的目的是幫助使用者理解像Postman這樣的真實工具如何可以作為一個簡單的Windows應用程式構建。 雖然最終的應用程式不會替換Postman,但它將展示核心概念,例如REST請求、回應和UI設計。 Tim還解釋說,雖然這個專案可以激發出職涯作品,但使用者不應該直接複製它。 相反,他們應該增強和修改它,創造出獨特的作品。
為Postman克隆創建類庫
這時候,Tim打開了Visual Studio 2022,並開始設置過程。 他解釋說,他使用的是錄音時最新的版本,並首先創建了一個新專案。 在這一課中,他選擇首先創建類庫。
Tim解釋說,這個類庫最終將包含UI將參考的共享程式碼。 這種方法有助於分離問題並保持應用程式的有序。 他還解釋說,雖然專案創建的順序通常不重要,但從庫開始讓他能夠展示開發者在設置過程中可能遇到的常見問題。
他搜索了C#類庫,並強調這必須是現代.NET專案,而不是舊的.NET Framework。 Tim選擇了.NET 8類庫,指出更新的版本如.NET 9或更高版本也可以使用。 他解釋說,不同版本之間的差異是開發的正常部分,學習如何適應是一項重要技能。
正確命名解決方案和專案
Tim花時間解釋他如何命名解決方案和專案。 他將解決方案命名為Postman克隆應用程式,庫命名為Postman克隆庫。 他解釋說,包含"Library"這個詞使得非常清楚哪個專案包含共享邏輯,哪個專案包含UI。
這種命名方法有助於在以後處理引用時。 Tim解釋說,引用應始終從UI流向庫,而不應反過來。 這一設計選擇支持更乾淨的程式碼和更好的長期開發過程。
他還解釋說,為什麼他不將解決方案和專案放在同一個目錄中。 由於這個應用程式將包含多個專案,將它們分開使導航更容易,避免解決方案增長時的混淆。
添加Windows Forms UI專案
庫創建後,Tim向解決方案中添加了一個第二個專案。 這次,他選擇Windows Forms應用程式。 他解釋說,這個專案將作為Postman克隆的UI,並最終允許使用者輸入URL、查詢參數並查看回應。
他將專案命名為Postman克隆UI,並再次確認它使用.NET 8。Tim簡要處理了一個由於顯示縮放引起的DPI相關消息。 他解釋說,這對於這課來說並不重要,可以在以後有需要時進一步探索DPI處理。
在這個階段,解決方案現在包含兩個專案:一個庫和一個Windows Forms UI。 這種結構為在Windows上構建Postman風格的工具奠定了基礎。
解決啟動專案問題
Tim演示了一個問題,因為類庫首先被創建。當他嘗試運行解決方案時,Visual Studio顯示一個錯誤,說明類庫不能直接啟動。
Tim解釋說,這是一個常見的設置問題,強調仔細閱讀錯誤消息的重要性。 他解釋說,錯誤消息通常直接告訴您問題所在以及如何解決。
他展示了兩種解決辦法:使用上下文菜單將UI專案設置為啟動專案,或者從運行按鈕旁的啟動專案下拉菜單中選擇它。 完成後,Windows Forms UI正常啟動。
將專案添加到Git和GitHub
在解決方案的結構就位後,Tim進入源代碼控制。 他打開Git更改窗口,並解釋尚未啟用版本控制。 他直接從Visual Studio創建了Git儲存庫。
Tim解釋.gitignore檔案的用途,指出編譯過的輸出(例如編譯出的檔案)不應包含在源代碼控制中。 由於這些檔案可以重建,所以不適合放入GitHub儲存庫。

他還討論了授權問題,解釋說不選擇授權意味保留所有代碼權利。 Tim添加了README檔案,說明它對於解釋專案非常重要,尤其是當它將被分享或用於作品集時。
Tim命名了GitHub儲存庫,添加了一個清晰的描述,解釋這是一個Windows Forms重現的Postman,並選擇保留儲存庫私密,以使使用者專注於學習而不是抄襲代碼。
理解源控制指示器
將代碼推送到GitHub後,Tim解釋了在解決方案資源管理器中顯示的鎖定圖標。 這些圖標指示這些檔案受源控制跟蹤,並且尚未被修改。
他解釋了這些指示器在檔案被添加或更新時如何改變,幫助開發者理解哪些更改將被提交。 隨著專案增長並添加更多功能,這種視覺反饋變得非常有用。
保留Class1並添加引用
Tim解釋為什麼此時在庫中保留了默認的Class1檔案。 沒有至少一個類,庫將沒有命名空間,從而無法從UI中引用。
然後他將庫作為UI專案的依賴項添加。 Tim展示了兩種方法:將庫拖到UI依賴項上和使用添加專案參考選項。 這一步允許UI訪問共享代碼,這對構建結構化的Postman克隆是必不可少的。
將Form1重命名為Dashboard
Tim將默認的Form1重命名為Dashboard,解釋說這個表單代表應用程式的主屏幕。 當此表單關閉時,應用程式也會關閉。

他確保所有參考更新正確,包括後置碼檔案和Program.cs。 Tim還將Program.cs中的命名空間轉換為文件作用域命名空間,解釋這提供了更大的空間和更整潔的格式,便於將來的更改。
調整UI屬性和字體設置
Tim打開Dashboard表單,聚焦於屬性窗口。 他解釋開發者如何根據工作流程重新定位Visual Studio中的視窗。
他更改了表單標題,以明確標識應用程式為Postman克隆,並將默認字體大小從9增加到18。Tim解釋,將字體大小早期設置有助於確保所有未來UI中添加的控件一致。
提交初始設置
所有設置修改完成後,Tim暫存修改過的檔案並創建了一個提交。 他解釋提交消息不必完美,但應清楚描述設置變更。
他提交並同步代碼與GitHub,確保儲存庫完全更新,準備好繼續開發。
準備下一步構建Postman克隆
為了結束影片,Tim解釋項目設置已完成。 在接下來的課程中,重點將轉移到構建UI和創建一個簡單的方法來向API發送GET請求並顯示回應。
他鼓勵觀眾嘗試自己進行下一步,再觀看下一段影片。 目標是創建一個簡單的介面,可以發送請求、接收資料並顯示格式化的JSON回應。 這種方法幫助使用者更好地理解這個過程,並準備好隨著時間的推移增強應用程式。
Tim最後提醒觀眾這個項目旨在成長。 從一個簡單的設置開始,允許開發者建立信心,理解工作流程,並逐漸將專案轉變成意義重大的Postman風格工具。
