FastAPI - 子应用程序挂载



如果你有两个独立的 FastAPI 应用程序,其中一个可以挂载到另一个上。挂载的应用程序被称为子应用程序。app.mount() 方法在主应用程序的特定路径中添加另一个完全“独立”的应用程序。然后它负责处理该路径下的所有内容,以及在该子应用程序中声明的路径操作。

我们首先声明一个简单的 FastAPI 应用程序对象,用作顶层应用程序。

from fastapi import FastAPI
app = FastAPI()
@app.get("/app")
def mainindex():
   return {"message": "Hello World from Top level app"}

然后创建另一个应用程序对象 subapp 并添加它自己的路径操作。

subapp = FastAPI()
@subapp.get("/sub")
def subindex():
   return {"message": "Hello World from sub app"}

使用 mount() 方法将此 subapp 对象挂载到主应用程序上。需要的两个参数是 URL 路由和子应用程序的名称。

app.mount("/subapp", subapp)

主应用程序和子应用程序都将有其自己的文档,可以使用 Swagger UI 进行检查。

FastAPI Mounting a Sub-App

子应用程序的文档可以在 https://127.0.0.1:8000/subapp/docs 中找到

FastAPI Mounting a Sub-App
广告