You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在FastAPI中通过requests传递Pydantic模型至接口?

FastAPI中Pydantic模型传递与请求体构造方案

一、requests请求体构造方法

你的ChatMessageCreate模型继承自ChatMessageBase,需要传入的字段为sender_id(整数类型)、receiver_id(整数类型)、message_content(字符串类型)。用requests测试时,直接构造包含这三个字段的JSON字典作为请求体即可,示例代码如下:

import requests

# 替换为你的API实际地址
api_url = "http://localhost:8000/assistant_chat/"
request_body = {
    "sender_id": 1001,
    "receiver_id": 1002,
    "message_content": "这是一条测试消息"
}

# 发送POST请求,使用json参数自动设置Content-Type为application/json
response = requests.post(api_url, json=request_body)
# 打印响应结果
print(response.json())

二、FastAPI字段映射原理

FastAPI与Pydantic的字段匹配逻辑非常直接:

  • 按字段名匹配:框架会将请求JSON体中的键名与Pydantic模型定义的字段名一一对应,比如请求里的sender_id会自动映射到ChatMessageBase中的sender_id字段,receiver_id同理。
  • 自动类型校验:除了字段名匹配,FastAPI还会根据模型定义的字段类型(如int、str)自动校验请求值的类型,如果传入的sender_id是字符串而非整数,框架会直接返回422类型错误,无需手动编写校验逻辑。
  • 自动解析JSON:当你在接口函数中声明chat_message: schema.ChatMessageCreate参数时,FastAPI会自动识别这是一个请求体参数,自动解析请求的JSON内容并实例化为ChatMessageCreate对象,你直接使用该对象调用CRUD函数即可。

内容的提问来源于stack exchange,提问作者Momo0815

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 21:12:35