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() 方法在主应用程序上安装此子应用程序对象。 需要的两个参数是 URL 路由和子应用程序的名称。
app.mount("/subapp", subapp)
主应用和子应用都有自己的文档,可以使用 Swagger UI 检查。
子应用程序的文档在 http://localhost:8000/subapp/docs 可用