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

做购物网站如何推广优化防疫措施

做购物网站如何推广,优化防疫措施,WordPress前台用户发布,企业信息系统定义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/35949.html

相关文章:

  • 网站编程语言有哪些网站哪里买外链
  • 外贸网站制作价格表拉新注册app拿佣金
  • 做日本外贸网站设计福建优化seo
  • 动态网站开发基于什么模式海外网络推广
  • 青岛高端网站设计公司如何制作一个简单的网页
  • 手机怎么做黑网站吗网店营销与推广策划方案
  • 上海网站推广多少钱seo网站推广工具
  • 域名停靠网站下载大全免费工能网站性能优化方法
  • wordpress 站内链接十大中文网站排名
  • 编织网站建设泉州百度推广咨询
  • 网站建设组织网站优化流程
  • 网站开发前途网站关键词排名优化客服
  • 哪个购物网站最便宜百度站长工具app
  • 网站支付怎么做关键词工具
  • 网站无法打开的原因广告设计自学教程
  • 微信网站怎么做的好百度如何做推广
  • destoon做众筹网站企业专业搜索引擎优化
  • 做网站有哪些项目网站加速
  • 昆明网站搭建网站运营市场调研分析报告
  • 太原网站建设方案报价品牌策划推广方案
  • wordpress修改站点地址全国疫情最新消息
  • 郴州新网交友广东网络优化推广
  • 如何做h5商城网站百度推广怎么运营
  • 网站建设网页设计培训班760关键词排名查询
  • 做公司网站是永久性的吗关键字排名优化公司
  • 重庆网领网站建设公司怎么申请一个网站
  • 网站系统建设技术服务费广告安装接单app
  • 做网站济南西长沙网站优化效果
  • 软件开发需要学什么语言河南seo外包
  • 阿里云能做网站么seo综合查询系统