Python-FastAPI框架的使用介绍
FastAPI 是一个用于构建 API 的现代、快速(高性能)Web 框架,它基于 Python 3.6+ 打造,并使用 Pydantic 和 Starlette 构建。FastAPI 以其自动生成文档、类型安全和高效率成为在 Python 社区中越来越受欢迎的选择。以下是对 FastAPI 的一些基本使用介绍:
安装 FastAPI 和 Uvicorn
要开始使用 FastAPI,你需要先安装它以及一个 ASGI 服务器,比如 Uvicorn:
pip install fastapi[all] uvicorn
创建一个简单的 FastAPI 应用
首先,你可以创建一个简单的 FastAPI 应用来感受一下它的结构:
# example.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
运行应用
使用 Uvicorn 运行此应用,命令如下:
uvicorn example:app --reload
example:app
指的是example.py
文件中的app
对象。--reload
标志表示在文件更改时自动重新加载服务器。
访问和交互 API
- 你可以通过浏览器访问
http://127.0.0.1:8000/
查看根路径的响应。 - 使用
http://127.0.0.1:8000/items/5?q=somequery
可以测试带路径参数和查询参数的 API。
自动生成文档
FastAPI 默认生成交互式 API 文档,你可以通过以下路径访问:
- Swagger UI: http://127.0.0.1:8000/docs
- ReDoc: http://127.0.0.1:8000/redoc
优势特点
- 高性能:FastAPI 的性能可以与 Node.js 和 Go 等接近。
- 自动化文档生成:自动生成文档,开发者无需手动编写 OpenAPI 规范文档。
- 类型安全:利用 Python 的类型提示,FastAPI 支持自动请求验证和序列化。
- 异步支持:原生支持 Python 的异步和同步代码。
更多功能
FastAPI 提供了很多高级功能,例如:
- 数据验证和复杂的数据模型,通过 Pydantic 实现。
- 依赖项注入系统,用于不同请求之间共享数据库连接等。
- 背景任务:在请求处理完后续的处理。
- 中间件和 CORS 配置。
总之,FastAPI 是一个非常强大的工具,适合构建高性能和现代 Web API。如果你想构建一个响应迅速、类型安全的 API,FastAPI 是一个值得推荐的选择。