我想发送以下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}"
}
}
}
答案 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
这表示入站消息与出站消息相同,但具有其他复杂属性。