用官方的话来说,FastAPI 是一种现代,快速(高性能)的 Web 框架,基于标准Python 类型提示使用 Python 3.6+ 构建 API
FastAPI 站在巨人的肩膀上?
很大程度上来说,这个巨人就是指 Flask 框架。
FastAPI 从语法上和 Flask 非常的相似,有异曲同工之妙。
技术背景:Py3.6+,Starlette,Pydantic
其实不仅仅是FastAPI,就连 Sanic 也是基于 Flask 快速开发的 Web API 框架。
废话少说,代码总是能给人带来愉悦感 (抱头),直接开怼。
安装
pipinstallfastapi
pipinstalluvicorn
创建一个 main.py 文件
fromfastapiimportFastAPI
app = FastAPI()# 创建 api 对象
@app.get("/") # 根路由
defroot():
return{"武汉":"加油!!!"}
@app.get("/say/{data}")
defsay(data: str,q: int):
return{"data": data,"item": q}
上面搭建了一个最简单的 FastAPI 应用,看起来和 Flask 完全一样,莫名的喜感。
使用以下命令来启动服务器:
uvicorn main:app --reload
FastAPI 推荐使用 uvicorn 来运行服务,Uvicorn 是基于uvloop 和 httptools 构建的闪电般快速的 ASGI 服务器。
uvicorn main:app 指的是:
main:文件main.py
app: 创建的启用对象
--reload: 热启动,方便代码的开发
启动界面如下:
INFO 信息告诉我们已经监听了本地的 8000 端口,访问 http://127.0.0.1:8000得到结果
传入参数