Python从测试到开发

FastAPI -- python 后端开发 01

2021-09-10  本文已影响0人  tevorwang

FastAPI 是啥

logo-teal.png

FastAPI framework, high performance, easy to learn, fast to code, ready for production

FastAPI我们从上面官方的解释中可以看到几个关键字:高性能、易学、快速编码、生产可用。

有多快?

TechEmpower 提供了一个开源的 web 框架基准测试程序,我选取了常见的几个 python 框架,得到了以下结果。

framework-benchmarks.png

我们可以看出 FastAPI 不是最快的框架,但是可以甩开 Flask、django、tornado 一大截。性能比 FastAPI 的那些框架,一般都是一个功能比较单一的基础框架,缺少数据校验等等一系列的功能。

点击这里查看原始 python 框架基准测试结果

多简单

安装

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.png

API 文档

FastAPI 是默认集成了Swagger的功能,打开 http://127.0.0.1:8000/docs,你可以看到swagger的文档了。 惊不惊喜,再也不用手动配置了,真香。

fastapi-docs-demo.png

redoc 格式文档

打开链接 http://127.0.0.1:8000/redoc, 你可以看到下面 redoc 格式的文档了, 买一赠一,虽然不一定用到,顺便送的不是。

fastapi-redoc-demo.png
上一篇下一篇

猜你喜欢

热点阅读