成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

FastAPI 路由分發詳解:模塊化項目結構優秀實踐

開發
模塊化路由分發,是構建大型 FastAPI 項目的基礎。如果你還在 main.py 里堆代碼,是時候重構你的接口結構了。?

在開發 FastAPI 項目時,隨著業務增長,main.py 中的接口代碼可能會越來越多,變得難以維護。為了保持清晰的結構,我們需要對路由進行模塊化拆分和分發。

本篇文章將帶你了解:

  • 路由的基本注冊方式
  • 如何將不同模塊的接口拆分到子文件中
  • 如何組織大型項目結構
  • 路由標簽與接口文檔分組展示

1. FastAPI 中的基礎路由注冊

# main.py
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def index():
    return {"msg": "Hello World"}

@app.get("/users")
def list_users():
    return [{"id": 1, "name": "張三"}]

這種方式在項目初期很簡單,但后期業務增加就會導致 main.py 冗長。

2. 使用 APIRouter 模塊化管理接口

FastAPI 提供了 fastapi.APIRouter,可以將路由分散到多個模塊,然后在 main.py 中統一導入。

第一步:創建一個用戶模塊 user.py

# app/routers/user.py
from fastapi import APIRouter

router = APIRouter(prefix="/users", tags=["用戶模塊"])

@router.get("/")
def list_users():
    return [{"id": 1, "name": "張三"}]

@router.get("/{user_id}")
def get_user(user_id: int):
    return {"id": user_id, "name": "張三"}
  • prefix:表示該模塊下的所有路由統一前綴,如 /users
  • tags:在 Swagger 文檔中對接口進行分組展示

第二步:在 main.py 中引入路由模塊

# main.py
from fastapi import FastAPI
from app.routers import user  # 導入自定義路由模塊

app = FastAPI()

app.include_router(user.router)  # 注冊用戶模塊路由

3. 多模塊項目結構推薦

你可以按功能劃分模塊,例如:

project/
├── app/
│   ├── main.py
│   ├── routers/
│   │   ├── __init__.py
│   │   ├── user.py
│   │   ├── article.py
│   │   └── auth.py
│   ├── models/
│   ├── schemas/
│   └── services/
  • routers/:接口路由
  • models/:數據庫模型
  • schemas/:請求/響應模型
  • services/:業務邏輯層

每個功能模塊都使用 APIRouter 創建并在 main.py 中注冊。

4. 自動導入多個模塊(可選)

為了避免在 main.py 手動 include_router 太多次,也可以在 routers/__init__.py 中統一注冊:

# routers/__init__.py
from .user import router as user_router
from .article import router as article_router
from .auth import router as auth_router

routers = [user_router, article_router, auth_router]

然后 main.py 中寫:

from fastapi import FastAPI
from app.routers import routers

app = FastAPI()

for router in routers:
    app.include_router(router)

5. 效果展示

啟動項目訪問http://localhost:8000/docs你會看到接口被分組展示,清晰又美觀。

6. 總結

要點

描述

APIRouter

拆分接口模塊

prefix

路由前綴,統一歸類

tags

分組展示文檔

include_router

注冊路由模塊

模塊化目錄結構

更清晰、可維護性強

模塊化路由分發,是構建大型 FastAPI 項目的基礎。如果你還在 main.py 里堆代碼,是時候重構你的接口結構了。


責任編輯:趙寧寧 來源: Ssoul肥魚
相關推薦

2010-08-18 09:03:07

模塊化路由器

2010-08-16 13:49:39

模塊化路由器

2017-05-18 10:23:55

模塊化開發RequireJsJavascript

2017-05-18 11:43:41

Android模塊化軟件

2016-12-14 14:50:26

CSS預處理語言模塊化實踐

2010-02-03 09:01:01

Java動態模塊化

2019-08-28 16:18:39

JavaScriptJS前端

2017-08-08 16:07:57

Android 模塊化架構

2017-08-11 16:10:36

微信Android實踐

2009-11-30 09:00:48

模塊化路由器

2023-12-25 22:24:36

C++模塊Module

2024-02-21 09:32:18

開發架構

2016-11-08 20:31:19

同方服務器模塊化

2009-12-03 20:15:13

模塊化路由器

2009-11-30 09:47:44

模塊化路由器

2013-07-09 13:13:27

路由器管理路由器

2009-11-30 09:40:44

2009-02-21 11:35:27

路由器中小網絡模塊化

2023-07-03 08:48:40

Web模塊化設計

2020-09-17 10:30:21

前端模塊化組件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区,视频 | 午夜激情网| 91精品国产综合久久久亚洲 | 四虎永久免费黄色影片 | 日本中文字幕一区 | 午夜三区 | 国产精品亚洲欧美日韩一区在线 | 国产精品久久久久久久久久免费看 | 亚洲美女在线视频 | 午夜日韩精品 | 日本污视频 | 国产一区二 | 久久久精品高清 | 精品国产区 | 九色国产 | 国产欧美一区二区三区免费 | 亚洲欧美v | 日韩一区二区在线观看 | 国产人成精品一区二区三 | 久久国产精品99久久久久久丝袜 | 午夜在线| 中文字幕 欧美 日韩 | 久久久久久久一区 | 三级视频在线观看电影 | 在线观看亚洲精品视频 | 色综合桃花网 | 大乳boobs巨大吃奶挤奶 | 国产高清在线精品 | 久久99精品久久久久久国产越南 | 国产精品一区一区三区 | 手机看片在线播放 | 国产日韩欧美一区二区 | 国产成人精品一区二区三区 | caoporn地址| 日韩av一二三区 | 人人干人人艹 | www精品美女久久久tv | 国产日韩欧美在线 | 欧洲高清转码区一二区 | 久久综合久久自在自线精品自 | 免费影视在线观看 |