一个简单的例子
main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
    return {"message": "Hello World"}
启动 uvicorn 命令
uvicorn main:app --reload
- main:python 的模块,即文件 main.py
 - app:指 
python app=FastAPI()中的app - –reload:代码改变时重启服务器,只用于开发
 
API 文档
- 交互式:位于 http://127.0.0.1:8000/docs
 - 参考文档:位于 http://127.0.0.1:8000/redoc
 
OpenAPI
- FastAPI 使用 OpenAPI 标准 (定义API协议的规范) 来生成定义API的 协议 (对某些东西的抽象描述,而不是具体的实现)
 - 可以在 http://127.0.0.1:8000/openapi.json 查看自动生成的 OpenAPI 协议,该协议可以用来生成API文档和与前端、移动设备和物联网应用的代码(例如mock server?)
 
Recap
- FastAPI 直接继承于 Starlette
 - path:也称为 endpoint 或者 route ,指 URL 中从第一个 
/开始的部分 - Operation:指 HTTP 的方法,如 
POST、GET、PUT等 - FastAPI 可以将大多数的对象和模型自动转化为 JSON ,包括 ORMs