赞
踩
通常在我们开发 app
时都会用到路由,像 Flask
有 blueprint
,Django
有 urls
等,其目的都是为了路由汇总管理。FastApi
也不例外,其拥有 APIRouter
。今天我们就一起来了解 APIRouter
是如何使用的。
以上,
model
为模型层,templates
为html
模板,views
为视图(其中每个视图都有其独立的路由器),main
为app
入口,所有的APIRouter
都在这里注册。
- from fastapi import FastAPI,Depends,Header,HTTPException,APIRouter
- from starlette.requests import Request
- from starlette.templating import Jinja2Templates
- from starlette import status
- import uvicorn
- from deta import Deta
- from fastapi.responses import StreamingResponse
-
- # 实例化路由器
- router = APIRouter()
- templates = Jinja2Templates('templates')
-
- # 注意,视图这里使用router来声明请求方式&URI
- @router.get('/users/')
- def user_list():
-
- return "这是用户们"
-
- @router.get('/imgs/')
- def img_list():
- return "这是图片"
- from fastapi import Depends, FastAPI
- from views import user
- from views.utm import login_required
- import uvicorn
-
- # 如果需要开启app鉴权,则用这种方式↓
- # app = FastAPI(dependencies=[Depends(login_required)])
-
- app = FastAPI() # 免鉴权
-
- app.include_router(
- user.router,
- prefix='/um',
- tags=['um'],
- responses={520: {"description": "I'm a user description!"}}
- )
-
- @app.get("/")
- async def root():
- return {"message": "Welcome to Applications APIRouter!"}
-
- if __name__ == "__main__":
- uvicorn.run(app='main:app',host='127.0.0.1',port=8765,reload=True)
怎么样,简单吧,你学废了吗?
以上就是今天的全部内容了,感谢您的阅读,我们下节再会。
完
往期推荐
点亮在看!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。