gpt4 book ai didi

django - 在 ModelViewSet 中返回 422 状态码

转载 作者:行者123 更新时间:2023-12-04 18:35:59 26 4
gpt4 key购买 nike

与 EmberData 的互操作性 it seems我需要reply with 422 ( Unprocessable Entity ) 而不是 400 ( Bad Request ) 每当发生验证错误时。我有两个问题:

  • 使用 ModelViewSet 时如何指定响应状态代码?
  • 为什么possible return codes列表中没有列出422 ?

  • 和奖金:
  • 为什么 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

    关于django - 在 ModelViewSet 中返回 422 状态码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34609797/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com