Python 当应用程序位于两个不同的文件中时,mount函数如何在fastapi中工作?
我有两个不同的fastaoi文件。我希望将INTEGATE作为单个文件。我已经发布了我的代码。请回顾一下,让我知道你的想法和建议 main.pyPython 当应用程序位于两个不同的文件中时,mount函数如何在fastapi中工作?,python,python-3.x,api,mount,fastapi,Python,Python 3.x,Api,Mount,Fastapi,我有两个不同的fastaoi文件。我希望将INTEGATE作为单个文件。我已经发布了我的代码。请回顾一下,让我知道你的想法和建议 main.py from fastapi import FastAPI from app import submain as subapi app = FastAPI() app.mount("/subapi", subapi) @app.get("/app") def read_main(): return {&q
from fastapi import FastAPI
from app import submain as subapi
app = FastAPI()
app.mount("/subapi", subapi)
@app.get("/app")
def read_main():
return {"message": "Hello World from main app"}
submin.py
from fastapi import FastAPI
subapi = FastAPI()
@subapi.get("/sub")
async def read_sub():
return {"message": "Hello World from sub API"}
错误
请告诉我如何将fastapi应用程序装载到其他位置或其他文件?您需要使用来自fastapi导入APIRouter
请参见以下内容:submin.py
#!/user/bin/env python
# -*- coding: utf-8 -*-
from fastapi import APIRouter
subapi = APIRouter()
@subapi.get("/sub")
async def read_sub():
return {"message": "Hello World from sub API"}
main.py
:
#!/user/bin/env python
# -*- coding: utf-8 -*-
from fastapi import FastAPI
import submain
app = FastAPI()
app.mount("/subapi", submain)
@app.get("/app")
def read_main():
return {"message": "Hello World from main app"}
运行代码:
$ uvicorn main:app --reload
←[32mINFO←[0m: Uvicorn running on ←[1mhttp://127.0.0.1:8000←[0m (Press CTRL+C to quit)
←[32mINFO←[0m: Started reloader process [←[36m←[1m6616←[0m] using ←[36m←[1mwatchgod←[0m
←[32mINFO←[0m: Started server process [←[36m1084←[0m]
←[32mINFO←[0m: Waiting for application startup.
←[32mINFO←[0m: Application startup complete.
$ uvicorn main:app --reload
←[32mINFO←[0m: Uvicorn running on ←[1mhttp://127.0.0.1:8000←[0m (Press CTRL+C to quit)
←[32mINFO←[0m: Started reloader process [←[36m←[1m6616←[0m] using ←[36m←[1mwatchgod←[0m
←[32mINFO←[0m: Started server process [←[36m1084←[0m]
←[32mINFO←[0m: Waiting for application startup.
←[32mINFO←[0m: Application startup complete.