swagger 如何在请求正文中使用ref和其他字段?

iaqfqrcu  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(323)

我在根级别json中的用例有100个字段,这100个字段中有90个字段是通用的,其余10个字段因不同的API而异,我需要在全局空间中指定这90个字段,并在其上放置10个不同的字段
样品
POST本地主机:3000/api/v1/人员{名称:“",年龄:“",父亲姓名:“”//其他90个字段}
POST localhost:3000/api/v1/student { //人员的所有字段和以下字段。部门名称:“",已注册课程:“”}
POST localhost:3000/api/v1/teacher { //所有字段的人和下面的字段。yoe:“",//假定某些特定字段}
我需要在全局空间和学生API中定义人员有效负载,我需要引用它。
如何在swagger中做到这一点。每当我使用ref时,它会替换同一级别中的所有其他字段。

wgmfuz8q

wgmfuz8q1#

您可以在Swagger 3和更高版本中扩展现有定义(不确定您使用的是哪个版本)。yaml中的示例(不确定您使用的是什么):

definitions:
            Response:
                description: "Response Object"
                type: object
                properties:
                    success:
                        description: "If action was successful or not"
                        type: boolean
                        example: true
                    message:
                        description: "Action message"
                        type: string
                        example: "Some message"
                    data:
                        description: "Response data"
                        type: Any
                        nullable: true
            ErrorResponse:
                allOf:
                    - $ref: "#/definitions/Response"
                    - type: object
                      properties:
                          success:
                              example: false
                          message:
                              example: "Error message"
                          data:
                              example: null

相关问题