有条不紊地包含招摇的元素

时间:2015-10-30 09:28:06

标签: swagger

我想发送以下json请求。

{
  "outboundMessageRequest": {
    "senderAddress": "{senderAddress}",
    "charging": {
      "description":"{description}",
      "amount" : "{amount}"
    },
    "outboundMessage": {
      "subject": "{subject}",
      "priority": "{priority}"
    }
  }
}

我的问题是,如果用户没有为说明字段提供值,如何从请求中删除charge elements?。

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

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

1 个答案:

答案 0 :(得分:0)

在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

这表示入站消息与出站消息相同,但具有其他复杂属性。