FastAPI 教程
![](https://www.runoob.com/wp-content/uploads/2023/12/logo-teal.png)
FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,专为在 Python 中构建 RESTful API 而设计。
FastAPI 使用 Python 3.8+ 并基于标准的 Python 类型提示。
FastAPI 建立在 Starlette 和 Pydantic 之上,利用类型提示进行数据处理,并自动生成API文档。
FastAPI 于 2018 年 12 月 5 日发布第一版本,以其易用性、速度和稳健性在开发者中间迅速流行起来。
FastAPI 支持异步编程,可在生产环境中运行。
谁适合阅读本教程?
本教程适合有 Python 基础的开发者学习。
学习本教程前你需要了解
学习本教程前你需要了解一些基础的 Web 知识及 Python 3.x 基础教程。
FastAPI 特点
- 高性能: 基于Starlette和Pydantic,利用异步(asynchronous)编程,提供出色的性能。
- 自动文档生成: 自动生成交互式API文档,支持Swagger UI和ReDoc,让API的理解和测试更加直观。
- 类型注解支持: 利用Python的类型提示,提供更严格的输入验证和更好的代码提示。
- 异步支持: 支持异步请求处理,使得处理IO密集型任务更加高效。
FastAPI 适用场景
- 构建API后端: 用于构建RESTful API,支持前后端分离的Web应用。
- 微服务架构: 可以作为微服务的后端框架,支持快速开发和部署。
- 数据处理API: 适用于处理数据,接收和返回JSON数据。
- 实时通信: 支持WebSocket,适用于实时通信场景。
为什么选择 FastAPI?
- Pythonic: 使用Python的自然语法和类型提示,降低学习曲线。
- 性能优越: 利用异步编程和底层的Starlette框架,提供卓越的性能。
- 文档友好: 自动生成交互式文档,减少文档维护的工作量。
- 生态系统: 基于Python生态系统,可以方便地集成各种库和工具。
相关链接
- FastAPI 文档:https://fastapi.tiangolo.com/zh/
- FastAPI 源码:https://github.com/tiangolo/fastapi