fastapi 中main调用routes文件
时间: 2024-05-28 08:08:07 浏览: 181
fastapi-template:正确的FastAPI设置可加快您的开发速度!
在FastAPI中,我们一般会将路由函数写在一个单独的模块中,然后在主程序中调用这个模块来实现路由功能。通常,我们会在主程序中创建一个`FastAPI`对象,然后在`FastAPI`对象上注册路由函数。
例如,我们可以在主程序中创建一个名为`app`的`FastAPI`对象,并调用一个名为`routes`的路由模块中的函数来注册路由:
```python
# main.py
from fastapi import FastAPI
from .routes import router
app = FastAPI()
# 注册路由
app.include_router(router)
```
在上面的代码中,我们先创建了一个名为`app`的`FastAPI`对象,然后使用`include_router`方法来注册路由。其中,`router`是一个在`routes.py`模块中定义的路由对象。
在`routes.py`模块中,我们可以定义路由对象及其对应的处理函数,例如:
```python
# routes.py
from fastapi import APIRouter
router = APIRouter()
@router.get("/")
async def read_root():
return {"Hello": "World"}
@router.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
```
在上面的代码中,我们首先使用`APIRouter()`函数创建了一个名为`router`的路由对象。然后,我们使用`@router.get()`装饰器来定义路由及其对应的处理函数。
例如,`@router.get("/")`定义了处理根路径("/")请求的处理函数`read_root()`;而`@router.get("/items/{item_id}")`则定义了处理"/items/{item_id}"请求的处理函数`read_item()`。这些处理函数可以被主程序中的`FastAPI`对象所调用。
如果你还有其他问题或需要更详细的解释,请随时提出。以下是一些相关的问题:
阅读全文