FastAPI默认使用jsonable_encoder来编码响应数据,它支持将Pydantic模型、Python原生类型以及其他可序列化的数据结构转换为JSON格式。

以下是一个简单的FastAPI教程示例,演示如何使用JSON兼容编码器:

首先,确保你已经安装了FastAPI和uvicorn:
pip install fastapi uvicorn

然后,创建一个名为main.py的文件,输入以下代码:
from fastapi import FastAPI
from fastapi.encoders import jsonable_encoder
from pydantic import BaseModel

app = FastAPI()

# 创建一个 Pydantic 模型
class Item(BaseModel):
    name: str
    description: str

# 使用 JSON 兼容编码器
@app.post("/create_item/")
async def create_item(item: Item):
    # 使用 jsonable_encoder 编码响应数据
    encoded_item = jsonable_encoder(item)
    return {"item": encoded_item}

在这个例子中,我们定义了一个Pydantic模型Item,然后在路由函数/create_item/中使用jsonable_encoder将模型编码为JSON格式的数据。

你可以使用[httpie](https://httpie.io/)或其他工具来测试这个API。以下是一个使用httpie的示例:
http POST "http://127.0.0.1:8000/create_item/" name="example" description="test"

在上面的命令中,我们向 /create_item/ 发送了一个POST请求,携带了一个JSON请求体。FastAPI将自动解析请求体,并使用jsonable_encoder编码响应数据,并在响应中返回相应的信息。




转载请注明出处:http://www.pingtaimeng.com/article/detail/7381/FastAPI