FastAPI 是一款基于 Python 语言的高性能 Web 框架,它提供了强大的类型提示、自动文档生成和异步支持等特性。在构建 RESTful API 时,FastAPI 可以帮助我们更快速、更方便地完成开发工作。本文将介绍如何使用 FastAPI 构建 RESTful API,并提供示例代码作为参考。
安装 FastAPI
在开始之前,我们需要先安装 FastAPI。可以通过 pip 来安装:
pip install fastapi
同时,我们还需要安装一个 ASGI 服务器,如 Uvicorn:
pip install uvicorn
创建 FastAPI 应用
在安装完成 FastAPI 后,我们可以开始创建一个 FastAPI 应用。以下是一个简单的示例:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}这个应用定义了一个根路由 /,当我们访问该路由时,会返回一个 JSON 对象:
{
"message": "Hello World"
}运行该应用的命令如下:
uvicorn main:app --reload
其中 main 表示存放应用代码的 Python 文件名,app 则是应用实例的名称。
定义 API 路由
在 FastAPI 中,我们可以使用 @app.get、@app.post、@app.put 等装饰器来定义 API 路由。以下是一个示例:
// www.javascriptcn.com code example
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}这个应用定义了两个路由:根路由 / 和 /items/{item_id}。其中 item_id 是一个路径参数,q 则是一个查询参数。当我们访问 /items/42?q=test 时,会返回一个 JSON 对象:
{
"item_id": 42,
"q": "test"
}使用 Pydantic 定义请求和响应模型
FastAPI 支持使用 Pydantic 定义请求和响应模型,这样可以更好地利用 Python 的类型提示功能,提高代码的可读性和可维护性。以下是一个示例:
// www.javascriptcn.com code example
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
is_offer: bool = None
@app.post("/items/")
async def create_item(item: Item):
return item这个应用定义了一个 /items/ 路由,当我们向该路由发送一个 POST 请求时,需要提供一个符合 Item 模型的 JSON 对象作为请求体。当请求成功时,会返回该 JSON 对象。
使用 FastAPI 自动生成 API 文档
FastAPI 支持自动生成 API 文档,这样可以帮助我们更好地理解 API 的设计和使用。以下是一个示例:
// www.javascriptcn.com code example
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
is_offer: bool = None
@app.post("/items/")
async def create_item(item: Item):
return item
@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q, "name": "Foo", "description": "An optional description"}在运行应用后,可以通过访问 http://localhost:8000/docs 来查看自动生成的 API 文档。
结语
本文介绍了如何使用 FastAPI 构建 RESTful API,包括创建应用、定义 API 路由、使用 Pydantic 定义请求和响应模型以及使用 FastAPI 自动生成 API 文档等。通过学习本文,相信读者已经掌握了 FastAPI 的基本使用方法,并可以开始使用它来构建自己的 RESTful API。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67d17fcda941bf713432a668