You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DRF通用视图集的错误响应结构及信息获取键是什么?

Django REST Framework 通用视图集的标准错误响应结构

DRF 对通用视图集抛出的错误有统一的默认响应格式,核心通过以下几个键承载错误信息,分场景说明:

1. 通用HTTP错误(403、404、405等)

当触发权限校验失败、资源不存在、请求方法不允许这类错误时,响应返回对应4xx状态码,结构为:

{
  "detail": "具体错误描述文本"
}

比如普通用户通过CustomUserViewset访问其他用户数据时,会返回403状态码,detail值为"您没有权限执行此操作。",前端直接读取detail字段即可获取错误信息。

2. 序列化验证错误(400 Bad Request)

在创建或更新资源时,若序列化器校验字段失败,会返回400状态码,错误结构分两种情况:

  • 字段级错误:每个错误字段作为键,对应的值是错误信息数组:
    {
      "title": ["该字段不能为空。"],
      "file": ["上传的文件格式不支持。"]
    }
    
    比如OCRDocumentViewset上传不符合要求的文件时,会返回这类结构,前端可以遍历字段展示对应错误。
  • 非字段级全局错误:错误信息放在non_field_errors键下:
    {
      "non_field_errors": ["两次输入的验证码不一致。"]
    }
    

前端处理建议

  1. 先根据响应的HTTP状态码判断错误类型:
    • 403/404/405等:直接提取detail字段展示;
    • 400:优先检查是否有字段级错误,遍历展示;若存在non_field_errors,则展示全局错误。
  2. 如果项目中自定义了DRF的异常处理类,错误结构可能会有调整,但默认情况下以上结构是通用的。

内容的提问来源于stack exchange,提问作者Vahid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 08:53:11