当前位置: 首页 > news >正文

FastAPI 基础入门-章节五(Pydantic的使用) - 详解

FastAPI 基础入门-章节五(Pydantic的使用) - 详解

FastAPI 与 Pydantic 技术深度解析

FastAPI 基础入门

安装与第一个示例

# 安装 FastAPI 和 Uvicorn
pip install fastapi uvicorn
# 创建 main.py 文件
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {
"message": "Hello, FastAPI!"}
# 启动服务
uvicorn main:app --reload

解释

  1. pip install 命令安装 FastAPI 框架和 Uvicorn ASGI 服务器。
  2. FastAPI() 创建应用程序实例,@app.get("/") 定义根路径的 GET 请求处理函数。
  3. uvicorn main:app --reload 启动开发服务器,--reload 参数启用热重载功能。
  4. 访问 http://127.0.0.1:8000 将看到 JSON 格式的响应结果。

Pydantic 介绍

核心特性与作用

from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
is_active: bool = True  # 默认值
user = User(name="Alice", age=30)
print(user)  # User(name='Alice', age=30, is_active=True)

解释

  1. BaseModel 是 Pydantic 的核心基类,通过类型注解定义数据模型。
  2. 默认值通过 = 指定,未传参时自动填充。
  3. 实例化时自动进行类型验证:若传入 age="thirty" 会抛出 ValidationError

Pydantic 的使用模型

常见数据类型支持

from typing import List, Optional
class Product(BaseModel):
id: int
name: str
tags: List[str] = ["default"]
price: float
description: Optional[str] = None

解释

  1. 支持基本类型(str/int/float/bool)和复杂类型(List/Dict)。
  2. Optional 表示字段可为 None,等价于 Union[str, None]
  3. 列表默认值使用 List[str] = ["default"],可选字段使用 Optional[str] = None

必选与可选参数

class Order(BaseModel):
product_id: int  # 必填字段
quantity: int = 1  # 可选字段,默认值 1
customer: Optional[str]  # 可选字段,无默认值

解释

  1. 未设置默认值的字段(如 product_id)是必填项。
  2. 通过 Optional 或默认值实现可选字段。
  3. 若调用 Order(product_id=100)quantity=1 会被自动填充。

http://www.jsqmd.com/news/63546/

相关文章:

  • 2025年聚氨酯砂浆地坪,水性聚氨酯砂浆地坪厂家推荐:食品车间适配解析与品牌筛选
  • 2025年石材维保托管,石材结晶,石材维修病变治理服务商最新推荐,石材病变修复测评!
  • 2025年12月IT培训机构推荐:年度综合实力排行榜TOP5机构深度评测与选择指南
  • 2025年12月北京婚礼策划公司推荐:专业对比评测排行榜单与实用选择指南
  • 2025年工业自动化安全栅五大品牌排行榜,看哪家品质好
  • 2025年12月成都月嫂培训机构推荐:五强对比评测排行榜单深度解析
  • 2025年12月成都月嫂培训机构推荐:权威排行榜单深度对比与评测指南
  • 2025年热门的新疆储油罐清洗检测用户口碑最好的厂家榜
  • 2025年12月成都月嫂培训机构推荐:五强对比评测排行榜单及选择指南
  • 2025年12月北京婚礼策划公司推荐:专业评测排行榜单及实用选择策略解析
  • 高山 联系方式: 身份核实途径介绍与正规咨询方法建议
  • 2025年12月北京婚礼策划公司推荐榜 阳光喜匠领衔实力评测与深度对比分析
  • 高山 联系方式: 合作洽谈及信息核实注意事项
  • 2025年北京办公家具公司口碑排名:科尔卡诺(北京)好不好?
  • 谷歌Gemini 3 Deep Think,微软VibeVoice,OpenAI GPT-5.1-Codex-Max,KlingAI Avatar齐发
  • 2025年口碑好的DCMM辅导机构优质咨询机构口碑榜
  • 高山 联系方式: 敦煌艺术研究咨询及作品收藏合作实用指引
  • 2025年靠谱的液化石油三型瓶四型瓶检测设备最新TOP厂家排名
  • 2025年度工业自动化设备公司口碑排名:启栅自动化设备行业口
  • 2025年评价高的管状带式输送机热门厂家推荐榜单
  • 2025年有实力的散杂船物流/散杂船运费专业服务推荐榜
  • 2025年专业的散货船物流/散货船船东用户满意度排行榜
  • 图像处理库Pillow的使用:批量裁剪图片
  • 2025年口碑好的电力牵引安全绳/耐磨安全绳厂家最新推荐权威榜
  • 2025年口碑好的国标安全带/安全带厂家最新热销排行
  • 启栅(上海)自动化设备有限公司的核心竞争力是什么?其优势在哪
  • 2025年吸附式干燥机生产厂家五大排名,国内吸附式干燥机生产
  • python-docx库的使用:图片插入到word文档里
  • 微服务之Nacos(注册中心、安装中心)
  • 2025年知名的展示柜珠宝柜滑轨TOP品牌厂家排行榜