」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > **如何使用 Nest.js 和 TypeScript 建立 REST API**

**如何使用 Nest.js 和 TypeScript 建立 REST API**

發佈於2024-11-08
瀏覽:101

Nest.js 是一個漸進式 Node.js 框架,用於建立高效且可擴展的伺服器端應用程式。它預設使用 TypeScript,並受到 Angular 的啟發,可以輕鬆創建結構良好的模組化應用程式。在本指南中,您將學習如何使用 Nest.js 和 TypeScript 建立基本的 REST API。

**Cómo Crear una API REST con Nest.js y TypeScript**

先決條件
在開始之前,請確保您已安裝以下軟體:
Node.js(版本 12 或更高版本)
npm(Node.js 套件管理器)
Nest CLI(您可以使用 npm install -g @nestjs/cli 安裝它)

第 1 步:建立一個新的 Nest.js 專案
首先,使用 Nest.js CLI 建立一個新專案:

嵌套新的 my-api

依照指示設定項目。建立後,導航至專案目錄:

cd my-api

第 2 步:建立模組
Nest.js 將程式碼組織成模組。我們將建立一個模組來管理名為「使用者」的實體:

nest 生成模組使用者

第3步:建立控制器
控制器處理 HTTP 請求。讓我們為使用者建立一個控制器:

nest 產生控制器使用者

這將在 src/users 目錄中建立一個 users.controller.ts 檔案。

第 4 步:創建服務
該服務包含業務邏輯。讓我們為用戶創建一個服務:

nest生成服務用戶

這將在 src/users 目錄中建立一個 users.service.ts 檔案。

第 5 步:定義使用者實體
讓我們定義一個基本的使用者實體。在 src/users 目錄下建立 user.entity.ts 文件,內容如下:
打字稿

**Cómo Crear una API REST con Nest.js y TypeScript**

第 6 步:部署服務
在users.service.ts檔案中,實作處理使用者的方法:
打字稿

**Cómo Crear una API REST con Nest.js y TypeScript**
 
第7步:實作控制器
在users.controller.ts檔案中,定義處理HTTP請求的路由與方法:
打字稿

**Cómo Crear una API REST con Nest.js y TypeScript**

第 8 步:運行應用程式
最後,運行應用程式:

npm 運行開始

您的 REST API 將在 http://localhost:3000/users 上提供。

**Cómo Crear una API REST con Nest.js y TypeScript**

結論
恭喜!您已經使用 Nest.js 和 TypeScript 建立了基本的 REST API。從這裡,您可以透過新增身份驗證、資料驗證以及連接到 PostgreSQL 或 MongoDB 等資料庫來擴展功能。

希望本指南對您有用。

感謝您的閱讀並留下您的評論! ??

?你喜歡它嗎?發表你的看法。
完整文章,請參閱:https://lnkd.in/ewtCN2Mn
https://lnkd.in/eAjM_Smy ?‍? https://lnkd.in/eKvu-BHe
https://dev.to/orlidev https://lnkd.in/ecHHabTD 別錯過!

參考:
已建立的映像:Copilot (microsoft.com)

作者:AMillionFriends #MakeYourselfVisible

版本聲明 本文轉載於:https://dev.to/orlidev/como-crear-una-api-rest-con-nestjs-y-typescript-14j0?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 如何為PostgreSQL中的每個唯一標識符有效地檢索最後一行?
    如何為PostgreSQL中的每個唯一標識符有效地檢索最後一行?
    postgresql:為每個唯一標識符提取最後一行,在Postgresql中,您可能需要遇到與在數據庫中的每個不同標識相關的信息中提取信息的情況。考慮以下數據:[ 1 2014-02-01 kjkj 在數據集中的每個唯一ID中檢索最後一行的信息,您可以在操作員上使用Postgres的有效效率: ...
    程式設計 發佈於2025-07-16
  • `console.log`顯示修改後對象值異常的原因
    `console.log`顯示修改後對象值異常的原因
    foo = [{id:1},{id:2},{id:3},{id:4},{id:id:5},],]; console.log('foo1',foo,foo.length); foo.splice(2,1); console.log('foo2', foo, foo....
    程式設計 發佈於2025-07-16
  • Go語言垃圾回收如何處理切片內存?
    Go語言垃圾回收如何處理切片內存?
    Garbage Collection in Go Slices: A Detailed AnalysisIn Go, a slice is a dynamic array that references an underlying array.使用切片時,了解垃圾收集行為至關重要,以避免潛在的內存洩...
    程式設計 發佈於2025-07-16
  • 將圖片浮動到底部右側並環繞文字的技巧
    將圖片浮動到底部右側並環繞文字的技巧
    在Web設計中圍繞在Web設計中,有時可以將圖像浮動到頁面右下角,從而使文本圍繞它纏繞。這可以在有效地展示圖像的同時創建一個吸引人的視覺效果。 css位置在右下角,使用css float and clear properties: img { 浮點:對; ...
    程式設計 發佈於2025-07-16
  • C++20 Consteval函數中模板參數能否依賴於函數參數?
    C++20 Consteval函數中模板參數能否依賴於函數參數?
    [ consteval函數和模板參數依賴於函數參數在C 17中,模板參數不能依賴一個函數參數,因為編譯器仍然需要對非contexexpr futcoriations contim at contexpr function進行評估。 compile time。 C 20引入恆定函數,必須在編譯時進...
    程式設計 發佈於2025-07-16
  • Python環境變量的訪問與管理方法
    Python環境變量的訪問與管理方法
    Accessing Environment Variables in PythonTo access environment variables in Python, utilize the os.environ object, which represents a mapping of envir...
    程式設計 發佈於2025-07-16
  • Async Void vs. Async Task在ASP.NET中:為什麼Async Void方法有時會拋出異常?
    Async Void vs. Async Task在ASP.NET中:為什麼Async Void方法有時會拋出異常?
    在ASP.NET async void void async void void void void void的設計無需返回asynchroncon而無需返回任務對象。他們在執行過程中增加未償還操作的計數,並在完成後減少。在某些情況下,這種行為可能是有益的,例如未期望或明確預期操作結果的火災和...
    程式設計 發佈於2025-07-16
  • 同實例無需轉儲複製MySQL數據庫方法
    同實例無需轉儲複製MySQL數據庫方法
    在同一實例上複製一個MySQL數據庫而無需轉儲在同一mySQL實例上複製數據庫,而無需創建InterMediate sqql script。以下方法為傳統的轉儲和IMPORT過程提供了更簡單的替代方法。 直接管道數據 MySQL手動概述了一種允許將mysqldump直接輸出到MySQL cli...
    程式設計 發佈於2025-07-16
  • 為什麼使用Firefox後退按鈕時JavaScript執行停止?
    為什麼使用Firefox後退按鈕時JavaScript執行停止?
    導航歷史記錄問題:JavaScript使用Firefox Back Back 此行為是由瀏覽器緩存JavaScript資源引起的。要解決此問題並確保在後續頁面訪問中執行腳本,Firefox用戶應設置一個空功能。 警報'); }; alert('inline Alert')...
    程式設計 發佈於2025-07-16
  • 可以在純CS中將多個粘性元素彼此堆疊在一起嗎?
    可以在純CS中將多個粘性元素彼此堆疊在一起嗎?
    [2这里: https://webthemez.com/demo/sticky-multi-header-scroll/index.html </main> <section> { display:grid; grid-template-...
    程式設計 發佈於2025-07-16
  • PHP與C++函數重載處理的區別
    PHP與C++函數重載處理的區別
    作為經驗豐富的C開發人員脫離謎題,您可能會遇到功能超載的概念。這個概念雖然在C中普遍,但在PHP中構成了獨特的挑戰。讓我們深入研究PHP功能過載的複雜性,並探索其提供的可能性。 在PHP中理解php的方法在PHP中,函數超載的概念(如C等語言)不存在。函數簽名僅由其名稱定義,而與他們的參數列表無關...
    程式設計 發佈於2025-07-16
  • 為什麼HTML無法打印頁碼及解決方案
    為什麼HTML無法打印頁碼及解決方案
    無法在html頁面上打印頁碼? @page規則在@Media內部和外部都無濟於事。 HTML:Customization:@page { margin: 10%; @top-center { font-family: sans-serif; font-weight: ...
    程式設計 發佈於2025-07-16
  • Java的Map.Entry和SimpleEntry如何簡化鍵值對管理?
    Java的Map.Entry和SimpleEntry如何簡化鍵值對管理?
    A Comprehensive Collection for Value Pairs: Introducing Java's Map.Entry and SimpleEntryIn Java, when defining a collection where each element com...
    程式設計 發佈於2025-07-16
  • 如何克服PHP的功能重新定義限制?
    如何克服PHP的功能重新定義限制?
    克服PHP的函數重新定義限制在PHP中,多次定義一個相同名稱的函數是一個no-no。嘗試這樣做,如提供的代碼段所示,將導致可怕的“不能重新列出”錯誤。 但是,PHP工具腰帶中有一個隱藏的寶石:runkit擴展。它使您能夠靈活地重新定義函數。 runkit_function_renction_...
    程式設計 發佈於2025-07-16
  • PHP未來:適應與創新
    PHP未來:適應與創新
    PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。 引言在編程世界中,PHP一直是網頁開發的中流砥柱。作為一個從1994年就開始發展...
    程式設計 發佈於2025-07-16

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3