以一个实际构建API
的例子介绍FastAPI
在已有数据情况下的简单应用
简介
FastAPI
是一个现代、快速(高性能)的 Web
框架,基于标准 Python
类型提示,使用 Python 3.6+
构建 API
。
主要特征是:
- 高速:与
NodeJS
和Go
相当,拥有高性能。 现有最快的Python
框架之一。 - 快速编码:将功能开发速度提高约200%至300%。
- 更少的
Bug
:减少约40%的人为(开发人员)导致的错误。 - 直观:更好的编辑支持。补全任何地方。更少的调试时间。
- 简单:方便使用和学习。减少阅读文档的时间。
- 简介:最小化代码重复。每个参数声明的多个要素。更少的错误。
- 健壮:获取便于生产的代码。带自动交互式文档。
- 基于标准:基于(并完全兼容)
API
的开放标准:OpenAPI
(以前称为Swagger
)和JSON Schema
。
文档:https://fastapi.tiangolo.com
源码:https://github.com/tiangolo/fastapi
需求及依赖
在Mysql
中数据库中有一个Gene
表,开发接口实现对这个表的数据的增删改查。
Python
版本需要3.7+
,依赖包如下:
certifi == 2020.4.5.1
click == 7.1.1
fastapi == 0.54.1
h11 == 0.9.0
importlib-metadata == 1.6.0
inflect == 4.1.0
pydantic == 1.4
PyMySQL == 0.9.3
sqlacodegen == 2.1.0
SQLAlchemy == 1.3.16
starlette == 0.13.2
uvicorn == 0.11.3
websockets == 8.1
wincertstore == 0.2
zipp == 3.1.0
FastAPI
是一个轻量级的框架,与数据库的通信是通过SQLAlchemy
包来实现的。
文件结构
以sql_app
为项目名,简单的文件结构如下:
.
└── sql_app
├── __init__