使用functools.singledispatch构建的django-rest-framework异常处理器
项目描述
Django REST framework异常分发器
django-rest-framework 异常处理器 使用 functools.singledispatch 构建。
安装
要使用 drf-exception-dispatcher,只需使用您的包管理器进行安装,例如使用 pip
pip install drf-exception-dispatcher
然后只需在Django的 REST_FRAMEWORK 设置部分使用 exception_dispatcher.handlers.exception_handler(或基于 exception_dispatcher 构建的您自己的异常处理器)
REST_FRAMEWORK = {
# ...
'EXCEPTION_HANDLER': 'exception_dispatcher.handlers.exception_handler',
# ...
}
配置
以下设置用于使默认的 exception_dispatcher 处理器可配置
EXCEPTION_DISPATCHER_SET_ROLLBACK(默认为True)- 指示在从异常处理器返回响应之前是否应调用set_rollbackEXCEPTION_DISPATCHER_API_EXCEPTION_PARSER(默认为exception_dispatcher.parsers.parse_rest_framework_api_exception') - 用于将发生的exception转换为响应数据的可调用对象的导入路径
用法
要向 exception_dispatchers 添加新的处理器,只需使用处理器的 register() 方法即可,例如添加 SuspiciousOperation 异常的处理程序
from exception_dispatcher.dispatchers import exception_dispatcher
from exception_dispatcher.types import ContextType
from rest_framework.response import Response
@exception_dispatcher.register
def handler_suspicious_operation(
exception: SuspiciousOperation,
context: ContextType,
) -> Response | None:
"""Handle Django's `SuspiciousOperation` exceptions."""
# custom ``exception` handler logic goes here
return None
项目详情
关闭
哈希值 for drf_exception_dispatcher-0.1.0-py3-none-any.whl
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 6064e938ee4f1c023db96d260624bd5f186a30fea5b3e17899b0dcac2f214568 |
|
| MD5 | 2d0e638c0747c83d21ba4c46e4d25c6c |
|
| BLAKE2b-256 | fcc49a80d1abf82595feadd5112158cb9edf72148ba4712a8b75d962a05a3d46 |