FastAPI -- python 后端开发 01
2021-09-10 本文已影响0人
tevorwang
FastAPI 是啥
logo-teal.pngFastAPI framework, high performance, easy to learn, fast to code, ready for production
FastAPI我们从上面官方的解释中可以看到几个关键字:高性能、易学、快速编码、生产可用。
有多快?
TechEmpower 提供了一个开源的 web 框架基准测试程序,我选取了常见的几个 python 框架,得到了以下结果。
framework-benchmarks.png我们可以看出 FastAPI 不是最快的框架,但是可以甩开 Flask、django、tornado 一大截。性能比 FastAPI 的那些框架,一般都是一个功能比较单一的基础框架,缺少数据校验等等一系列的功能。
多简单
安装
pip install fastapi
pip install uvicorn[standard]
# 如果你使用的是zsh, 请使用引号
# pip install "uvicorn[standard]"
准备代码
创建一个main.py
文件,加入以下代码。
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def hello_world():
return {"message": "hello world!"}
运行一个demo 程序只需要5行代码,使用了装饰器简洁明了。
运行
vicorn main:app --reload
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [28720]
INFO: Started server process [28722]
INFO: Waiting for application startup.
INFO: Application startup complete.
打开http://127.0.0.1:8000,可以看到以下结果。
fastapi-demo-helloworld.pngAPI 文档
FastAPI 是默认集成了Swagger的功能,打开 http://127.0.0.1:8000/docs,你可以看到swagger的文档了。 惊不惊喜,再也不用手动配置了,真香。
fastapi-docs-demo.pngredoc 格式文档
打开链接 http://127.0.0.1:8000/redoc, 你可以看到下面 redoc 格式的文档了, 买一赠一,虽然不一定用到,顺便送的不是。
fastapi-redoc-demo.png