第一个示例:FastAPI_first_demo

创建示例:

使用以下命令创建文件main.py:

  1. from fastapi import FastAPI
  2. app = FastAPI()
  3. @app.get("/")
  4. def read_root():
  5. return {"Hello": "World"}
  6. @app.get("/items/{item_id}")
  7. def read_item(item_id: int, q: str = None):
  8. return {"item_id": item_id, "q": q}

运行示例

使用以下命令运行服务器:

  1. uvicorn main:app --reload

uvicorn main:app命令指的是:

  1. main:文件main.pyPython“模块”)。
  2. app:在main.py内创建的对象,包含app = FastAPI()行。
  3. reload:更改代码后使服务器重新启动。 只在开发这样做。

或者在原代码文件中添加以下代码

  1. if __name__ == '__main__':
  2. uvicorn.run(app, host="127.0.0.1", port=8000)

检查示例

在浏览器打开 http://127.0.0.1:8000/items/5?q=somequery。

您将看到JSON响应:

{“item_id”: 5, “q”: “somequery”}

您已经创建了一个API:

  1. 在路径/和/ items / {item_id}中接收HTTP请求。
  2. 这两个路径都采用GET操作(也称为HTTP方法)。
  3. 路径/ items / {item_id}的路径参数item_id类型为int
  4. 路径/ items / {item_id}具有可选的str类型的查询参数q

交互式API文档

现在打开 http://127.0.0.1:8000/docs.

您将看到自动交互式API文档(由Swagger UI提供):


替代的API文档

打开地址 http://127.0.0.1:8000/redoc.

您将看到可选的自动文档(由ReDoc提供):