在FastAPI中,你可以使用PEP 593中的Annotated
类型来添加元数据到类型提示中。这个功能非常有用,因为它允许你在类型提示中添加更多的上下文信息,例如描述、默认值或其他自定义元数据。
FastAPI支持Annotated
类型,这使得你可以为路径操作函数的参数提供额外的元数据,例如依赖项、查询参数的描述、别名等。
FastAPI介绍
FastAPI 是一个用于构建 API 的现代、快速(高性能)web 框架,基于 Python 类型提示。它的主要特点包括自动生成 OpenAPI 和 JSON Schema 文档、快速代码编写、简洁的代码结构、高效的性能等。FastAPI 使用 Starlette 作为 Web 框架的核心,并使用 Pydantic 进行数据验证。
FastAPI 的主要特点
-
快速:
- FastAPI 的性能非常接近于 NodeJS 和 Go 等速度较快的语言,并且比其他基于 Python 的框架如 Flask 和 Django 快得多。
-
简洁:
- 通过类型提示和依赖注入,代码简洁易读。
- 开发者可以更少的代码实现更多的功能。
-
自动文档生成:
- FastAPI 自动生成符合 OpenAPI 规范的文档,这些文档可以通过内置的 Swagger UI 和 ReDoc UI 查看。
- 自动生成 JSON Schema。
-
数据验证:
- 基于 Pydantic,FastAPI 提供了强大的数据验证功能。
- 支持复杂的数据验证和数据解析。
-
类型提示:
- 充分利用 Python 的类型提示,帮助开发者编写和维护代码。
-
依赖注入:
- FastAPI 提供了一个简单但功能强大的依赖注入系统,可以方便地管理依赖项。
FastAPI 还支持以下功能:
- 文件上传
- 安全性(OAuth2、JWT 等)
- 后台任务
- 流媒体响应
- GraphQL
- SQL(通过 SQLAlchemy 等)
- 数据库事务
- 后台任务
安装 FastAPI 和 Uvicorn
pip