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

FastAPI 中的 Pydantic 的作用

FastAPI 中的 Pydantic 的作用

Pydantic 在FastAPI里扮演的角色 ≈ Spring Boot开发时 [Jackson + Bean Validation + Lombok]

三件套合体后的效果——

负责把 [收到的原始字节] → [Java Bean] → [校验] → [序列化回JSON]

class UserOut(BaseModel):id:intname:str

这里面python继承了 BaseModel

python定义一个类的语法如下:

class Parent:def __init__(self, name, age):self.name = nameself.age = agedef say(self):print("I am Parent")

python继承一个类的语法如下,用括号继承:

class Child(Parent):pass
在FastAPI 中获取请求参数

把需要的东西声明成路径参数查询参数请求体,FastAPI 会自动注入。

  1. 路径参数

    from fastapi import FastAPIapp = FastAPI()@app.get("/user/{id}")
    def get(id:int):return {"id":id}
    
  2. 查询参数

    非路径参数就是请求参数

    @app.get("/search")
    def search(q:str, page:int = 0):return {"q":q, "page":page}
    
  3. 请求体

    from pydantic import BaseModelclass UserDto(BaseModel):name:strage:str@app.post("/user")
    def create(dto:UserDto): # 直接声明模型,FastAPI自动反序列化+校验return {"user":dto}
    
  4. 混合使用:路径 + 查询 + 请求体

    @app.put("/item/{item_id}")
    def update_item(item_id: int,q:str = None,payload: UserDto = None
    ):return {"id":item_id,"q":q, "payload":payload}
    
http://www.xdnf.cn/news/20013.html

相关文章:

  • docker 部署RustDesk服务
  • 零知开源——基于STM32F103RBT6的智能风扇控制系统设计与实现
  • 头一次见问这么多kafka的问题
  • 针对nvm不能导致npm和node生效的解决办法
  • java.nio.file.InvalidPathException异常
  • 文章采集发布帝国ECMS网站技巧
  • K8s访问控制(一)
  • MySQL高级进阶(流程控制、循环语句、触发器)
  • 电机试验平台:从实验到应用的创新突破
  • OpenCV C++ 进阶:图像直方图与几何变换全解析
  • 大数据毕业设计推荐:基于Spark的零售时尚精品店销售数据分析系统【Hadoop+python+spark】
  • 孟子GPT
  • Ruoyi-vue-plus-5.x第五篇Spring框架核心技术:5.1 Spring Boot自动配置
  • React中使用DDD(领域驱动设计)
  • java,通过SqlSessionFactory实现动态表明的插入和查询(适用于一个版本一个表的场景)
  • c51串口通信原理及实操
  • 进程和线程创建销毁时mutex死锁问题分析
  • 神经网络之深入理解偏置
  • Go语言实战案例- 命令行参数解析器
  • Gin + Viper 实现配置读取与热加载
  • swing笔记
  • 【Flutter】flutter_local_notifications并发下载任务通知实践
  • 深度学习基础概念【持续更新】
  • 前端安全防护深度实践:从XSS到供应链攻击的全面防御
  • JAiRouter 配置文件重构纪实 ——基于单一职责原则的模块化拆分与内聚性提升
  • 消费品企业客户数据分散?CRM 系统来整合
  • Python包管理工具全对比:pip、conda、Poetry、uv、Flit深度解析
  • mac怎么安装uv工具
  • CT影像寻找皮肤轮廓预处理
  • 一天一个强大的黑科技网站第1期~一键抠图神器!设计师必备!分分钟扣100张图!