You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django的drf_yasg中调整swagger_auto_schema请求体格式

实现drf_yasg嵌套请求体格式

你只需要将原来的login_id和password字段嵌套到User子对象Schema中,修改swagger_auto_schema的request_body配置即可:

@swagger_auto_schema(method='post', request_body=openapi.Schema(
        type=openapi.TYPE_OBJECT,
        properties={
                'User': openapi.Schema(
                    type=openapi.TYPE_OBJECT,
                    properties={
                        'login_id': openapi.Schema(type=openapi.TYPE_STRING, description='ID'),
                        'password': openapi.Schema(type=openapi.TYPE_STRING, description='password'),
                    }
                )
        }
))

修改后,Swagger文档生成的请求体就会变成你需要的嵌套格式:

{
  "User": {
    "login_id": "admin",
    "password": "1234"
  }
}

核心逻辑是:根Schema的properties中新增User字段,其值为一个新的TYPE_OBJECT类型的Schema,原来的登录字段都定义在这个子Schema的properties里。

内容的提问来源于stack exchange,提问作者user2648080

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 11:05:29