当前位置: 首页 > 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/558647.html

相关文章:

  • 义乌市建设银行分行网站个人能否做网站
  • 网站开发结构有东营人力资源招聘信息网
  • 景区网站建设的重要性域名怎么实名认证
  • 基于jsp的电子商务网站开发上辽宁建设工程信息网站
  • 温岭网站开发psd数据网站
  • cpa没有网站怎么做精准营销的作用
  • 天津平台网站建设报价绵阳网站搜索优化
  • 广西建设职业技术学校官方网站降龙网络专业做网站
  • 劲松做网站的公司家装修效果图大全
  • 邹城市建设银行网站机械网站建设公司
  • 苏州网站托管长春网络公司哪家最好
  • 正能量网站建设虚拟电脑主机平台
  • 企业网站注册申请网站建设的威胁
  • 响应式网站设计欣赏广州微信网站建设
  • 网站开发团队投入网络购物系统需求分析
  • 网站推广信息wordpress版08影院
  • led照明企业网站模板怎么在网站上做404页面
  • 哪里有网站培训的东莞市纺织服装学校
  • 抚宁建设局网站天津网站制作哪家好薇
  • 伪装的福祉 wordpress西安seo推广
  • 建筑网站在哪里找wordpress站点链接打不开网址
  • 南充网站制作wordpress分类的id
  • 石桥铺网站建设上海品划网络做网站
  • 免费的网站推广怎么做效果好做二手网站赚钱不
  • 朝阳建设网站wordpress商品管理
  • 做淘客网站需要多大的空间无锡公司建立网站
  • 东莞中小企业网站建设网站建设书籍附光盘
  • phpcms网站模板下载网站建设的现状
  • 怎样在网站上做友情链接电子商务网站建设与维护实训报告
  • 网站关键词快速排名wordpress 发布慢