简介
FastAPI
是一个用于构建 API
的现代、快速(高性能)的 web
框架,使用 Python 3.6+
并基于标准的 Python
类型提示。
关键特性:
- 快速:可与
NodeJS
和Go
比肩的极高性能(归功于 Starlette 和 Pydantic)。最快的Python web
框架之一。 - 高效编码:提高功能开发速度约 200% 至 300%。
- 更少 bug:减少约 40% 的人为(开发者)导致错误。
- 智能:极佳的编辑器支持。处处皆可自动补全,减少调试时间。
- 简单:设计的易于使用和学习,阅读文档的时间更短。
- 简短:使代码重复最小化。通过不同的参数声明实现丰富功能。bug 更少。
- 健壮:生产可用级别的代码。还有自动生成的交互式文档。
- 标准化:基于(并完全兼容)API 的相关开放标准:OpenAPI (以前被称为 Swagger)和JSON Schema。
以上这些特性均为官方介绍的特性,咱也不知道,反正也用着,过程中实践这些关键特性
安装 FastAPI
第一个步骤是安装 FastAPI
:
1pip install fastapi
然后再并安装uvicorn
来作为服务器:
1pip install uvicorn
当然你也可以直接安装所有(包括依赖包)
pip install fastapi[all]
第一个Fastapi实例
最简单的 FastAPI
文件可能像下面这样:
1from fastapi import FastAPI
2
3app = FastAPI()
4
5
6@app.get("/")
7async def root():
8 return {"message": "Hello World"}
命令行运行:
1lifeng@192 pythonFastapi % uvicorn main:app --reload
2INFO: Will watch for changes in these directories: ['/Users/lifeng/python-projects/python-code/pythonFastapi']
3INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
4INFO: Started reloader process [25075] using statreload
5INFO: Started server process [25077]
6INFO: Waiting for application startup.
7INFO: Application startup complete.
- uvicorn main:app 命令含义如下:
main:main.py 文件&#