Swagger 在招摇过市中有条件地包含元素

Swagger 在招摇过市中有条件地包含元素,swagger,Swagger,我想发送以下json请求 { "outboundMessageRequest": { "senderAddress": "{senderAddress}", "charging": { "description":"{description}", "amount" : "{amount}" }, "outboundMessage": { "subject": "{subject}", "priority": "{

我想发送以下json请求

{
  "outboundMessageRequest": {
    "senderAddress": "{senderAddress}",
    "charging": {
      "description":"{description}",
      "amount" : "{amount}"
    },
    "outboundMessage": {
      "subject": "{subject}",
      "priority": "{priority}"
    }
  }
}
我的问题是,如果用户未向描述字段提供值,如何从请求中删除收费元素

例如,如果用户没有为description元素提供值,服务器应该接收以下json

{
  "outboundMessageRequest": {
    "senderAddress": "{senderAddress}",
    "outboundMessage": {
      "subject": "{subject}",
      "priority": "{priority}"
    }
  }
}

在swagger中,您可以将其描述为两种不同的模式——一种是入站模式,另一种是出站模式。您甚至可以使用
allOf
组合两个模式,并在它们之间建立关系。例如:

    definitions:
      MessageRequest:
        properties:
          senderAddress:
            type: string
          outboundMessage:
            type: object
            properties:
              subject:
                type: string
              priority:
                type: string
      InboundMessage:
        allOf:
          - $ref: '#/definitions/MessageRequest'
          - properties:
              charging:
                type: object
                properties:
                  description:
                    type: string
                  amount:
                    type: number
                    format: double
这表示入站消息与出站消息相同,但具有额外的复杂属性