题目
创建一个简单的FastAPI路由并运行应用
信息
- 类型:问答
- 难度:⭐
考点
路由定义, 应用启动, 基础API实现
快速回答
实现步骤:
- 导入FastAPI类
- 创建应用实例
- 定义根路径路由
- 编写返回JSON的异步函数
- 使用uvicorn运行应用
示例命令:uvicorn main:app --reload
解析
1. 原理说明
FastAPI通过装饰器@app.get()定义HTTP GET路由。路由函数使用async def声明支持异步操作,返回数据自动转为JSON格式。Uvicorn是ASGI服务器,用于运行FastAPI应用。
2. 代码示例
# main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"message": "Hello, World!"}运行命令:
uvicorn main:app --reload3. 最佳实践
- 路由函数命名:使用
read_前缀表示数据读取操作 - 返回字典:FastAPI自动转换为JSON响应
- 开发模式:添加
--reload参数实现代码热更新 - 访问测试:浏览器打开 http://127.0.0.1:8000 或使用curl测试
4. 常见错误
- 忘记导入FastAPI类导致
NameError - 路由装饰器路径缺少斜杠:
@app.get("")应改为@app.get("/") - 未安装uvicorn:需先执行
pip install uvicorn - 端口冲突:使用
--port参数指定其他端口如--port 8001
5. 扩展知识
- 自动文档:访问 /docs 查看交互式API文档
- 其他方法:
@app.post(),@app.put()等支持不同HTTP动词 - 路径参数:
@app.get("/items/{item_id}")可捕获动态路径 - 热更新原理:
--reload监控文件变动自动重启进程