Fastapi 简明教程

FastAPI - Mounting a Sub-App

如果您有 2 个独立的 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 来检查它们。

sub1

子应用程序的文档在 [role="bare"] [role="bare"]http://localhost:8000/subapp/docs 处可用

sub2