1

DRF 的默认行为是为 5XX 抛出异常,但返回有效响应以及 4XX 的错误详细信息。我想记录任何以 4XX 失败的 API 调用的请求和响应。

目前日志只显示Bad Request : /path/api/

答:自定义异常工作正常。

4

1 回答 1

1

您可以定义自己的自定义异常处理程序并访问您的请求,例如:

from rest_framework.views import exception_handler

def custom_exception_handler(exc, context):
    response = exception_handler(exc)
    if response is not None:
        response.data['status_code'] = response.status_code
        response.data['request'] = context['request']

    return response

并显示您的自定义处理程序,settings.py例如:

REST_FRAMEWORK = {
    'EXCEPTION_HANDLER': 'my_project.my_app.utils.custom_exception_handler'
}
于 2019-08-21T11:01:25.503 回答