11
我正在yaml中編寫我的swagger定義。假設我有一個像這樣的定義。如何在某些操作需要的定義中創建字段而不是其他字段
paths:
/payloads:
post:
summary: create a payload
...
parameters:
- in: body
name: payload
description: New payload
required: true
schema:
$ref: "#/definitions/payload"
put:
summary: update a payload
...
parameters:
- in: body
name: payload
description: Updated existing payload
required: true
schema:
$ref: "#/definitions/payload"
...
definitions:
payload:
properties:
id:
type: string
someProperty:
type: string
...
有沒有一種方法,我可以表明,需要有效載荷的id屬性爲PUT操作是可選的(或不應該出現在所有)爲POST操作?
這非常有用。 我會對任何有關這些「覆蓋」的進一步見解感興趣,因爲如果可能的話,我真的很想避免使用多個模型。 模式文檔似乎表明定義覆蓋可以放在方法「模式」部分,只要元素不「重複」...是否有任何這種語法的例子? – rainecc
您的答案得到了賞金,因爲沒有其他選擇。但我仍然希望有現成的替代品。如果有人知道,請寫一個答案。 –
相信我,我希望有。不幸的是,JSON Schema是一種驗證語言,而不是一種建模語言,因此它對這種(常見)用例並不友好。 – Ron