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

网上的毕业设计代做网站靠谱吗世界杯积分榜排名

网上的毕业设计代做网站靠谱吗,世界杯积分榜排名,做网站需要套模板,广州敏城建设工程有限公司网站FastAPI自定义异常处理:优雅转换Pydantic校验错误 背景需求 当使用FastAPI开发API服务时,Pydantic的自动校验异常默认会返回如下格式的422响应: {"detail": [{"type": "missing","loc": ["body", "user", &…

FastAPI自定义异常处理:优雅转换Pydantic校验错误

背景需求

当使用FastAPI开发API服务时,Pydantic的自动校验异常默认会返回如下格式的422响应:

{"detail": [{"type": "missing","loc": ["body", "user", "name"],"msg": "Field required","input": null}]
}

但在实际开发中我们通常需要:

  1. 统一异常响应格式
  2. 增加自定义错误码
  3. 对敏感信息进行过滤
  4. 支持多语言错误提示

实现方案

步骤1:创建自定义异常类

from fastapi import HTTPExceptionclass APIException(HTTPException):def __init__(self,code: int = 40000,message: str = "请求参数错误",status_code: int = 400,**kwargs):super().__init__(status_code=status_code,detail={"code": code,"message": message,"data": kwargs.get("data", None)})

步骤2:捕获Pydantic校验异常

2.1 异常捕获机制原理

2.1.1 FastAPI的异常处理链
# FastAPI的异常处理流程示意图
客户端请求 -> 路由函数 -> 中间件处理 -> 参数校验 -> 业务逻辑 -> 返回响应↑异常捕获点               ↑校验异常触发点异常处理器介入 ←─ 异常抛出
  • 捕获时机:当请求参数不符合Pydantic模型定义时,框架会自动抛出RequestValidationError(HTTP 422错误)
  • 处理器注册:通过@app.exception_handler装饰器绑定特定异常类型到处理函数
2.1.2 关键异常类型区分
异常类型触发场景继承关系
ValidationError手动调用模型验证时抛出Pydantic原生异常
RequestValidationErrorFastAPI自动参数校验失败继承自ValidationError

2.2 核心处理逻辑剖析

2.2.1 错误数据结构解构
# 原始错误条目结构示例
{"type": "value_error",       # 错误大类"loc": ("body", "age"),      # 错误位置元组"msg": "输入值不是合法整数",   # 原始错误描述"input": "eighteen"          # 客户端原始输入
}

字段深度说明

  • loc定位器:

    • 遵循(位置类型, 字段路径...)结构
    • 位置类型可能为:body, query, path, header, cookie
    • 嵌套字段示例:("body", "user", "address", "city")
  • 常见错误类型:

    # Pydantic预定义错误类型参考
    "missing"            # 必填字段缺失
    "value_error"        # 值校验失败
    "type_error"         # 类型不匹配
    "assertion_error"    # 自定义校验断言失败
    
2.2.2 错误信息处理流程
def 
http://www.dtcms.com/wzjs/311420.html

相关文章:

  • 如何看网站的ftp广告视频
  • wordpress bshareseo信息优化
  • 免费教育网站建设开发网站用什么软件
  • 安全员怎么网站中做备案seo的主要分析工具
  • 校园网站建设策划书seo优化方法有哪些
  • 别人做的网站打不开网站服务费一年多少钱
  • 网站设计服务费英文青岛谷歌推广
  • 开发公司工程建设质量控制体系seo的内容怎么优化
  • 商务网站建设与维护成都新闻今日最新消息
  • 网站建设流程上海网站营销seo电话
  • 创建网站的向导和模板 信息技术教资面试免费模板素材网站
  • 建设营销型网站多少钱app开发费用标准
  • 做下载网站好不好做点击器
  • 自己怎么做团购网站首页长尾关键词挖掘
  • 上海什么做网站的公司比较好百度网络推广怎么收费
  • 网站建设服务商有哪些上海网站设计公司
  • 如何建设一个国际化的网站网站应该如何进行优化
  • 做网站公司不负责任怎么办如何制作自己的网站教程
  • 手机网站建设动态杭州最好的seo公司
  • 门户网站 移动端沪指重上3000点
  • 网站上文章字体部分复制怎么做国内搜索引擎排行榜
  • 福州网站建设流程温岭网络推广
  • 青岛开发区网站建设公司windows优化大师官方网站
  • 国家市场监督管理总局反垄断局保定百度seo排名
  • 流动党员网站建设目标短视频营销成功的案例
  • 有没有做任务的网站吗谷歌关键词
  • 网站开发工程师简历深圳网络推广的公司
  • 关于文化的网站模板seo服务深圳
  • 巩义专业网站建设价格友链购买有效果吗
  • 根据网站集约化建设的要求百度搜索排行