外观
第一个FastAPI程序
下面通过一个简单的例子输出Hello World。
from fastapi import FastAPI # 导入FastAPI类
app = FastAPI() # 实例化应用类
@app.get('/') # 路由
def index():
return {'Hello': 'World'}
@app.get('/items/{item_id}') # 从URL中接收参数
def read_item(item_id: int, q: str = None):
return {'item_id': item_id, 'q': q}接下来,使用Uvicorn启动服务,命令如下:
uvicorn main:app --reload
上述代码中,main表示启动main.py文件,app表示在main.py内部创建的对象,通过app=FastAPI()创建。--reload表示使服务在更该代码后重新启动,仅在开发时使用。
启动服务后,已经创建了一个API。
- 在路由“/”和“item/{item_id}”中接收HTTP请求。
- 两个路径都执行GET操作。
- 路径“item/{item_id}”有一个路径参数item_id,一般是一个int。
- 路径“item/{item_id}”有一个可选的str类型的查询参数q。
在浏览器中输入上图中提供的URL(http://127.0.0.1:8000/),匹配index()函数,返回一个JSON响应,运行结果如下图。

在浏览器中输入“http://127.0.0.1:8000/items/5?q=somequery”,运行结果如下图。

如果想使用异步async/await功能,应使用async def,示例如下。
@app.get('/')
async def index():
return {'Hello': 'World'}