本文介绍了在ModelViewSet中返回422状态代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
对于与EmberData的互操作性it seems,每当发生验证错误时,我需要reply with 422(Unprocessable Entity
)而不是400(Bad Request
)。我有两个问题:- 使用ModelViewSet时如何指定响应状态代码?
- 为什么422没有列在possible return codes的列表中?
和奖金:
- 为什么EmberData预期为422?据我所知,这不是JSONAPi规范的一部分。
推荐答案
422是WebDAV DRF的一部分,错误代码不在DRF中。这并不能阻止你使用它。它们只是数字本身的人类可读版本。
一个选项是覆盖rest_framework.exceptions.ValidationError.status_code
并将其设置为422。
编辑-更改默认错误代码:
# At the top of a views.py file, by the ends of import add:
from rest_framework.exceptions import ValidationError
ValidationError.status_code = 422
这篇关于在ModelViewSet中返回422状态代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!