当前位置:   article > 正文

Django 基础(10)-Django drf自定义异常返回类与django REST 自定义返回格式_drf 自定义异常

drf 自定义异常

Django 基础(10)-Django自定义异常返回类

官网: https://www.django-rest-framework.org/api-guide/exceptions/

REST framework定义的异常

  • APIException 所有异常的父类
  • ParseError 解析错误
  • AuthenticationFailed 认证失败
  • NotAuthenticated 尚未认证
  • PermissionDenied 权限决绝
  • NotFound 未找到
  • MethodNotAllowed 请求方式不支持
  • NotAcceptable 要获取的数据格式不支持
  • Throttled 超过限流次数
  • ValidationError 校验失败

也就是说,很多的没有在上面列出来的异常,就需要我们在自定义异常中自己处理了。

APIException()

官网: https://www.django-rest-framework.org/api-guide/exceptions/

APIException是所有在 APIView class 或 @api_view.异常的基类,
若要自定义异常,请继承 APIException 并在该类上设置. status _ code、 . default _ detail 和 default _ code 属性。

例如,如果您的 API 依赖于有时可能无法访问的第三方服务,您可能希望实现“503服务不可用”HTTP 响应代码的异常。你可以这样做:

from rest_framework.exceptions import APIException

class ServiceUnavailable(APIException):
    status_code = 503
    default_detail = 'Service temporarily unavailable, try again later.'
    default_code = 'service_unavailable'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

django REST 自定义返回格式

django REST 自定义返回格式
参考URL: https://blog.csdn.net/a54288447/article/details/126154717

继承官方的Response类

参考

Django-drf-全局异常处理
参考URL: https://zhuanlan.zhihu.com/p/288814772

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/979498
推荐阅读
相关标签
  

闽ICP备14008679号