艾锑无限告诉你:什么是FastAPI
| 2020-02-25 13:49:27 标签:
一、什么是fastapi?
FastAPI是一个现代的,快速(高性能)python web框架。基于标准的python类型提示,使用python3.6+构建API的Web框架。
The key features are:
fastapi的特点如下:
· 性能快:高性能,可以和NodeJS和Go相提并论。
· 快速开发:开发功能速度提高约200%至300%
· 更少的Bug:
· Fewer bugs: 减少40%开发人员容易引发的错误
· 直观:完美的编辑支持
· 简单: 易于使用和学习,减少阅读文档的时间。
· 代码简洁:很大程度上减少代码重复。每个参数可以声明多个功能,减少bug的发生。
· 标准化:基于并完全兼容API的开发标准:OpenAPI(以前称为Swagger)和JSON Schema。
二、搭建环境
python环境:Python 3.6+
FastAPI依赖于下面这两大重要的成果:
· web部分参考:Starlette
· 数据部分参考: Pydantic
三、fastapi安装
· 1、安装fastapi
pip install fastapi
· 2、如果用于生产,那么你还需要一个ASGI服务器,如Uvicorn或Hypercorn
pip install uvicorn
四、可选的依赖
1. Pydantic提供:
· ujson - 更快的JSON
· email_validator - 电子邮件的验证
2. Starlette提供:
· requests - 如果你想要使用TestClient, 需要导入requests.
· aiofiles - 如果你想使用FileResponse or StaticFiles, 需要导入aiofiles.
· jinja2 - 如果你想使用默认的模板配置,需要导入jinjia2.
· python-multipart -如果要使用request.form()支持表单“解析”,则为必需。
· itsdangerous -“SessionMiddleware”支持需要。
· pyyaml - 如果需要 SchemaGenerator 支持, 则为必要.
· graphene -如果需要 GraphQLApp 支持, 则为必要.
· ujson - 如果你想使用 UJSONResponse, 则为必要.
3. FastAPI / Starlette提供:
· uvicorn - 加载和提供应用程序的服务器.
4. 一次性全部安装
pip3 install fastapi[all]