FastAPI 快速搭建一个REST API 服务


最近正好在看好的接口文档方便的工具, 突然看到这个, 试了一下确实挺方便

快速示例

from fastapi import FastAPI
from pydantic import BaseModel
import uvicorn

app = FastAPI()

class Item(BaseModel):
    name: str
    price: float
    is_offer: bool = None

@app.get("/")
def read_root():
    return {"Hello": "FastAPI"}

@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q }

# 更新示例
@app.put("/items/{item_id}")
def update_item(item_id: int, item: Item):
    return {"item_name": item.name, "item_id": item_id}

if __name__ == '__main__':
    uvicorn.run("main:app", port=5000, reload = True )

启动访问

  • 可以直接调用测试API
  • 提供两种在线接口文档可以预览
    • 查看 Swagger UI 文档 http://127.0.0.1:5000/docs
    • 查看 ReDoc 文档 http://127.0.0.1:5000/redoc

Docker 部署

TODO

官网

  • 码云镜像下载
  • Github 官方下载