Sto scrivendo la mia definizione di swagger in yaml. Supponiamo che io abbia una definizione simile a questa.Come rendere un campo in una definizione richiesta per alcune operazioni e non altre
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
...
C'è un modo che io possa indicare che la proprietà ID di un carico utile è necessario per l'operazione di PUT ed è opzionale (o non dovrebbe apparire a tutti) per l'operazione POST?
Questo è molto utile. Sarei interessato a ulteriori informazioni su questi "overrides", poiché vorrei davvero evitare più modelli, se possibile. I documenti dello schema sembrano indicare che una sovrascrittura della definizione può essere inserita nella sezione "schema" del metodo, a condizione che un elemento non sia "duplicato" ... Esistono esempi di questa sintassi? – rainecc
La tua risposta ha la taglia perché non ci sono altre opzioni. Ma continuo a sperare che esistano attualmente alternative. Se qualcuno lo sa, per favore scrivi una risposta. –
Fidati di me, vorrei che ci fosse. Sfortunatamente, JSON Schema è un linguaggio di validazione e non un linguaggio di modellazione, quindi non è molto amichevole con questi casi d'uso (comuni). – Ron