第1节,python web框架---FastAPI入门教程

1. FastAPI

我所编写的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更加的高效,许多特性所提供的辅助功能极大程度上提高了开发效率。

2. uvicorn

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。

3. 安装FastAPI

pip install fastapi[all]

只需这一步,就能够安装FastAPI所需要的一切,包括uvicorn,你也可以选择分开安装,先安装FastAPI

pip install fastapi

再安装uvicorn

pip install uvicorn[standard]

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案