我所编写的FastAPI入门教程, 内容由浅入深,适合快速入门,教程内附带大量示例代码和针对性的技术讲解。
FastAPI是一个可快速构建API服务的web框架,它要求python版本是3.6+, 同时基于python的类型提示,这将有助于代码的维护和阅读,官方对它关键特性介绍如下:
快速:可与 NodeJS 和 Go 比肩的极高性能(归功于 Starlette 和 Pydantic)。最快的 Python web 框架之一。
高效编码:提高功能开发速度约 200% 至 300%。*
更少 bug:减少约 40% 的人为(开发者)导致错误。*
智能:极佳的编辑器支持。处处皆可自动补全,减少调试时间。
简单:设计的易于使用和学习,阅读文档的时间更短。
简短:使代码重复最小化。通过不同的参数声明实现丰富功能。bug 更少。
健壮:生产可用级别的代码。还有自动生成的交互式文档。
标准化:基于(并完全兼容)API 的相关开放标准:OpenAPI (以前被称为 Swagger) 和 JSON Schema。
我在阅读官方文档的过程中,也深刻感受到FastAPI相比于Flask更加的高效,许多特性所提供的辅助功能极大程度上提高了开发效率。
FastAPI 在生产环境部署时需要使用uvicorn, uvicorn是基于 uvloop 和 httptools 构建的非常快速的 ASGI 服务器。
uvloop 用于替换标准库 asyncio 中的事件循环,使用 Cython 实现,它非常快,可以使 asyncio 的速度提高 2-4 倍,httptools 是 nodejs HTTP 解析器的 Python 实现。
Flask,django 在部署时可以使用gunicorn 或者uwsgi ,这两个都是wsgi服务器,而uvicorn 是ASGI服务器,提供异步网关协议接口, 一个介于网络协议服务和 Python 应用之间的标准接口,能够处理多种通用的协议类型,包括 HTTP,HTTP2 和 WebSocket。
uvicorn 目前支持 HTTP1.1 和 WebSocket,计划支持 HTTP2。
pip install fastapi[all]
只需这一步,就能够安装FastAPI所需要的一切,包括uvicorn,你也可以选择分开安装,先安装FastAPI
pip install fastapi
再安装uvicorn
pip install uvicorn[standard]
QQ交流群: 211426309