使用 FastAPI 建立 Todo API 的部分:逐步指南

王林
發布: 2024-08-28 18:32:24
原創
118 人瀏覽過

Part Building a Todo API with FastAPI: Step-by-Step Guide

使用 FastAPI 建立 Todo API:逐步指南

程式碼可以在這裡找到:GitHub - jamesbmour/blog_tutorials:

一、簡介

在上一篇文章中,我們介紹了 FastAPI 並建立了基本的專案架構。現在,我們將更進一步,建立一個功能性的 Todo API。在本教程結束時,您將擁有一個可以建立、讀取、更新和刪除待辦事項的工作後端。

我們將涵蓋的內容:

  • 設計 Todo 資料模型
  • 實作CRUD操作
  • 建立 API 端點
  • 新增輸入驗證和錯誤處理
  • 測試 API
  • 重建與組織程式碼

二.設計 Todo 資料模型

為了管理待辦事項,我們必須定義一個表示待辦事項的資料模型。 FastAPI 使用 Pydantic 模型來驗證和解析數據,因此我們將在這裡利用它。

A. 定義 Todo 模式

我們將使用 Pydantic 建立兩個模型:

  • TodoCreate:用於建立或更新待辦事項時的輸入資料。
  • Todo:用於完整的待辦事項,包括 id 和created_at 等欄位。
雷雷

B. 解釋字段

  • id:每個待辦事項的唯一識別碼。
  • 標題:待辦事項的主要內容。
  • 描述:其他詳細資訊(可選)。
  • 已完成:待辦事項的布林狀態(無論是否完成)。
  • created_at:指示待辦事項建立時間的時間戳記。

三.為 Todos 建立 CRUD 操作

CRUD 代表建立、讀取、更新和刪除-管理資料的四個基本操作。在本教程中,我們將使用記憶體資料庫(一個簡單的列表)來實現這些操作。

A. 設定記憶體資料庫

我們將使用一個清單來儲存我們的待辦事項。為了簡單起見,我們還將添加一些範例待辦事項。

雷雷

B. 實作輔助函數

我們將實作一個簡單的輔助函數來透過 id 尋找待辦事項。

雷雷

四.實作 API 端點

A. 建立新的待辦事項

POST 端點允許使用者建立新的待辦事項。

雷雷

B. 檢索所有待辦事項

GET 端點從我們的記憶體資料庫中檢索所有待辦事項。

雷雷

C. 檢索單一待辦事項

GET 端點允許透過 ID 檢索單一待辦事項。

雷雷

D. 更新待辦事項

PUT 端點可讓使用者更新現有的待辦事項。

雷雷

E. 刪除待辦事項

DELETE 端點允許使用者透過其 id 刪除待辦事項。

雷雷

V. 新增輸入驗證和錯誤處理

A. 使用 Pydantic 進行輸入驗證

FastAPI 會自動根據我們定義的 Pydantic 模型驗證輸入資料。這確保資料在處理之前符合我們預期的模式。

B. 自訂錯誤處理

我們可以透過新增異常處理程序來自訂錯誤回應。

雷雷

六.測試 API

FastAPI 隨附互動式 Swagger UI 文檔,可輕鬆測試您的 API 端點。只需運行應用程式並在瀏覽器中導航至 /docs。

測試實例

  • 建立待辦事項:透過建立新的待辦事項來測試 POST 端點。
  • 擷取待辦事項:使用 GET 端點取得所有待辦事項或按 id 取得特定待辦事項。
  • 更新和刪除:測試 PUT 和 DELETE 端點以更新或刪除待辦事項。

七.重構和組織程式碼

隨著應用程式的成長,保持程式碼的組織性至關重要。這裡有一些提示:

A. 將模型移到單獨的文件

您可以將 Pydantic 模型移至 models.py 檔案中,以保持主應用程式檔案乾淨。

B. 為 Todo 端點建立路由器

考慮為與待辦事項相關的端點建立一個單獨的路由器,尤其是隨著您的 API 的成長。

八.下一步

在下一篇文章中,我們將把一個真實的資料庫(如 SQLite 或 PostgreSQL)整合到我們的 FastAPI 應用程式中。我們還將研究用戶身份驗證和更高級的功能。

Vorgeschlagene Verbesserungen:

  • Fügen Sie Filterung und Paginierung zu den GET-Endpunkten hinzu.
  • Implementieren Sie die Benutzerauthentifizierung, um persönliche Aufgaben zu verwalten.

IX. Abschluss

In diesem Tutorial haben wir eine einfache Todo-API mit FastAPI erstellt. Wir begannen mit dem Entwurf eines Datenmodells, implementierten CRUD-Operationen und erstellten Endpunkte zur Verwaltung von Aufgaben. Wir haben auch die Eingabevalidierung, Fehlerbehandlung und Tests angesprochen. Auf dieser Grundlage können Sie die API weiter erweitern oder in ein Frontend integrieren, um eine vollwertige Anwendung zu erstellen.

Wenn Sie mein Schreiben unterstützen oder mir ein Bier spendieren möchten:
https://buymeacoffee.com/bmours

以上是使用 FastAPI 建立 Todo API 的部分:逐步指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!