![](/img/trans.png)
[英]How to remove auto generate Enum field schema in drf-spectacular
[英]How do I include 400 validation errors in drf-spectacular?
我想查看 400 响应中的验证详细信息,因为它们可以由序列化程序返回。 序列化程序可以根据缺失的字段或无效值返回错误,我希望文档指出状态代码 400 可能出现哪种错误。像这样
200:成功
400: [ { "organisation_id": [ "此字段是必需的。" ] } ] #include 任何可能来自序列化程序的验证错误
我的代码目前是这个
@extend_schema(
summary="Create a new transaction",
responses={
201: OpenApiResponse(
description='Success',
),
400: OpenApiResponse(
description='Bad request. One or more errors occured.',
),
},
)
目前这输出 200: 成功
400:错误的请求。 发生了一个或多个错误。
有没有像
400: OpenApiResponse(description=customSerializerErrors,
), #customSerializerErrors is something i hope gets errors from the serializer
drf-spectacular
在序列化程序的基础上工作。
OpenApiResponse
是一个方便的包装器,大多数时候不需要。 事实上,在这里,它可能没有按照您的预期进行。 您需要提供OpenApiResponse(response=SomeSerializer)
,否则您是说没有响应正文,因为默认值为None
== no response。
您可能想要这样做:
@extend_schema(
summary="Create a new transaction",
responses={
201: YourSerializer,
400: YourErrorSerializer,
},
)
没有预定义的YourErrorSerializer
因为 Django 的error_handler
是高度动态的,无法检查。 目前,您需要自己编写这个YourErrorSerializer
。 请注意,此序列化程序并未实际使用,而只是说明了响应的结构方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.