fastapi日志重复打印_FAST API 多次包含同一路由器,不同 prefix

如果要构建应用程序或Web API,则很少将所有内容都放在一个文件中。FastAPI提供了一种方便的工具,可在保持所有灵活性的同时构建应用程序。信息如果您来自Flask,那将相当于Flask的蓝图。示例文件结构假设您的文件结构如下:.├── app│ ├── __init__.py│ ├── main.py│ └── routers│ ├── __init__.py│ ...
摘要由CSDN通过智能技术生成

如果要构建应用程序或Web API,则很少将所有内容都放在一个文件中。

FastAPI提供了一种方便的工具,可在保持所有灵活性的同时构建应用程序。

信息

如果您来自Flask,那将相当于Flask的蓝图。

示例文件结构

假设您的文件结构如下:

.

├── app

│   ├── __init__.py

│   ├── main.py

│   └── routers

│   ├── __init__.py

│   ├── items.py

│   └── users.py

小费

有两个__init__.py文件:每个目录或子目录一个。

这就是允许将代码从一个文件导入另一个文件的原因。

例如,app/main.py您可以输入以下内容:

from app.routers import items

该app目录包含所有内容。

该app目录有一个空文件app/__init__.py。

因此,该app目录是“ Python包”(“ Python模块”的集合)。

该app目录还有一个app/main.py文件。

由于它位于Python软件包目录中(因为存在一个文件__init__.py),因此它是该软件包的“模块”:app.main。

有一个子目录app/routers/。

子目录app/routers也有一个空文件__init__.py。

因此,它是一个“ Python子包”。

该文件app/routers/items.py在旁边app/routers/__init__.py。

因此,这是一个子模块:app.routers.items。

该文件app/routers/users.py在旁边app/routers/__init__.py。

因此,这是一个子模块:app.routers.users。

APIRouter

假设专门用于处理用户的文件是的子模块/app/routers/users.py。

您希望将与用户相关的路径操作与其余代码分开,以使其井井有条。

但是它仍然是同一FastAPI应用程序/ Web API的一部分(它是同一“ Python包”的一部分)。

您可以使用来为该模块创建路径操作APIRouter。

进口APIRouter

您可以导入它,并使用与该类相同的方式创建一个“实例”FastAPI:

from fastapi import APIRouter

router = APIRouter()

@router.get("/users/", tags=["users"])

async def read_users():

return [{"username": "Foo"}, {"username": "Bar"}]

@router.get("/users/me", tags=["users"])

async def read_user_me():

return {"username": "fakecurrentuser"}

@router.get("/users/{username}", tags=["users"])

async def read_user(username: str):

return {"username": username}

路径操作与APIRouter

然后使用它声明路径操作。

以与使用FastAPI类相同的方式使用它:

from fastapi import APIRouter

router = APIRouter()

@router.get("/users/", tags=["users"])

async def read_users():

return [{"username": "Foo"}, {"username": "Bar"}]

@router.get("/users/me", tags=["users"])

async def read_user_me():

return {"use

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值