Skip to main content

FastAPI 框架构成

FastAPI 框架建立在 Python3.5 自带的类型提示(Type Hints)、Pydantic 框架、和 Starlette 框架之上。

FastAPI 框架功能

首先是有了 Python 语言的类型提示,然后有了 Pydantic 库,而 FastAPI 就是综合运用 Pydantic 库和轻量级异步 Web 框架 Starlette,再引入一些新的内容,组成的一个开箱即用的框架。

bQr6oM

图:FastAPI 框架构成

FastAPI 以 Starlette 库作为 Web 服务器的底层,提供了异步技术接收客户端发起的请求数据。通过高性能的数据模型框架 Pydantic 库对数据进行验证和转换。Pydantic 充分利用了 Python 标准库的类型提示特性,建立数据模型和验证规则。响应数据也通过 Pydantic 库转换成符合 JSON 模式的响应数据,FastAPI 再将最终数据返回给客户端。

2YAXUZ

图:FastAPI 框架请求处理流程

Type Hints

2015 年 9 月从 Python 3.5 开始,内置了类型提示功能,供 IDE 使用,在代码运行阶段不起作用,有助于提升代码的可读性。

使用方式

基础数据类型

高级数据类型

自定义类

Pydantic

Starlette