作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢!
一、依赖项
Python 3.6+
FastAPI 站在这些巨人的肩膀上
可选依赖项:
Pydantic需要:
-
ujson- 比较快的 JSON 解析. -
email_validator- email 校验.
Starlette需要:
-
requests-TestClient 需要. -
aiofiles-FileResponse或者StaticFiles 需要. -
jinja2- 缺省模板配置需要. -
python-multipart- 表单解析需要. -
itsdangerous-SessionMiddleware支持需要. -
pyyaml- Starlette'sSchemaGenerator支持需要. -
graphene-GraphQLApp支持需要. -
ujson-UJSONResponse 需要.
FastAPI / Starlette需要:
你可以通过以下命令安装以上所有安装包:
pip install fastapi[all]
二、安装
1、pip install fastapi
2、我们需要一个ASGI服务器,可以使用 Uvicorn 或 Hypercorn。
pip install uvicorn
三、示例
1、新建文件main.py
from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q}
或者使用async定义函数:
from fastapi import FastAPI app = FastAPI() @app.get("/") async def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") async def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q}