如何在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
相关产品推荐
相关产品推荐

