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

【Python百日进阶-Web开发-FastAPI】Day813 - FastAPI 响应模型

文章目录

  • 一、返回与输入相同的数据
  • 二、添加输出模型
  • 三、在文档中查看
  • 四、响应模型编码参数
    • 4.1 使用 response_model_exclude_unset 参数
      • 4.1.1 默认值字段有实际值的数据
      • 4.1.2 具有与默认值相同值的数据
    • 4.2 response_model_include 和 response_model_exclude
      • 4.2.1 使用 list 而不是 set
  • 五、总结

https://fastapi.tiangolo.com/zh/tutorial/response-model/

你可以在任意的路径操作中使用 response_model 参数来声明用于响应的模型:

  • @app.get()
  • @app.post()
  • @app.put()
  • @app.delete()
    等等。
    注意,response_model是「装饰器」方法(get,post 等)的一个参数。不像之前的所有参数和请求体,它不属于路径操作函数。
    它接收的类型与你将为 Pydantic 模型属性所声明的类型相同,因此它可以是一个 Pydantic 模型,但也可以是一个由 Pydantic 模型组成的 list,例如 List[Item]。
    FastAPI 将使用此 response_model 来:
  • 将输出数据转换为其声明的类型。
  • 校验数据。
  • 在 OpenAPI 的路径操作中为响应添加一个 JSON Schema。
  • 并在自动生成文档系统中使用。
    但最重要的是:
  • 会将输出数据限制在该模型定义内。下面我们会看到这一点有多重要。
    响应模型在参数中被声明

http://www.kler.cn/a/523421.html

相关文章:

  • C++并发编程指南05
  • 【PowerQuery专栏】PowerQuery实现数据库访问系列函数
  • 在Ubuntu上用Llama Factory命令行微调Qwen2.5的简单过程
  • 双层Git管理项目,github托管显示正常
  • Linux常见问题解决方法--1
  • 基于Python的哔哩哔哩综合热门数据分析系统的设计与实现
  • Linux——网络基础(1)
  • 基于SpringBoot的阳光幼儿园管理系统
  • MongoDB平替数据库对比
  • DeepSeek:突破传统的AI算法与下载排行分析
  • 输出国际象棋棋盘
  • GBase 8a 9.5.3.27 DBlink配置---源端GBase
  • Xposed-Hook
  • 每日一题 430. 扁平化多级双向链表
  • Nginx 性能优化技巧与实践(二)
  • GORM 支持的数据库解析
  • 力扣 【99. 恢复二叉搜索树】Java题解(二叉树的 Morris 遍历)
  • Vue.js 配合 Vue Router 使用 Vuex
  • 【漫话机器学习系列】065.梯度(Gradient)
  • 数组at()方法:负索引的救赎与JavaScript标准化之路
  • jemalloc 5.3.0的tsd模块的源码分析
  • 关于存储磁盘固件版本:打破版本一致性迷思
  • Python 函数魔法书:基础、范例、避坑、测验与项目实战
  • 大模型概述
  • 第一个3D程序!
  • 在虚拟机里运行frida-server以实现对虚拟机目标软件的监测和修改参数(一)(android Google Api 35高版本版)