错误处理 – 作为响应的django-rest-framework自定义错误消息
发布时间:2020-12-20 11:39:44 所属栏目:Python 来源:网络整理
导读:对于我的API,我需要使用HTTP 200和 JSON内容响应每个请求的错误.所以不要回答: Response(serializer.errors,status=status.HTTP_400_BAD_REQUEST) 我想这样做: res = {"code": 400,"message": "Bad Requset"}Response(res) 放这种东西的最佳地点在哪里以及
对于我的API,我需要使用HTTP 200和
JSON内容响应每个请求的错误.所以不要回答:
Response(serializer.errors,status=status.HTTP_400_BAD_REQUEST) 我想这样做: res = {"code": 400,"message": "Bad Requset"} Response(res) 放这种东西的最佳地点在哪里以及如何?在Serializer中,Renderer,Exception?我需要捕获序列化程序可能抛出的每个异常以及我编写的自定义异常. 解决方法
您可以使用状态代码200和data = json.dumps(…),如下所示:
res = {"code": 400,"message": "Bad Requset"} return Response(data=json.dumps(res),status=status.HTTP_200_OK) 在处理异常的位置方面,RestFramework已经涵盖了它,阅读Exceptions – Django REST framework,您可以创建自定义处理程序并执行此操作. 但是由于api端点通常是每个视图基础,我个人建议创建一个自定义装饰器来包装您的视图并在出现错误时返回此类响应. 希望这可以帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- python错误:AttributeError: 'module' object has
- 简单的爬虫,从 html 中提取表格信息
- python – 使用多段三次贝塞尔曲线和距离以及曲率约束逼近
- 切片以反转python中列表的一部分
- 小白学Python-S3-day05-WC、管道符、tar、>、vim
- Python正则替换字符串函数re.sub用法示例
- 二进制小数
- python – 确定测试是单元测试还是集成测试
- python-seaborn scatterplot datetime xaxis太宽
- python – TestCase中缺少ROLLBACK导致multi-db django应