Ich schreibe meine Swagger-Definition in Yaml. Angenommen, ich habe eine Definition, die ungefähr so aussieht.Wie mache ich ein Feld in einer Definition für einige Operationen und nicht für andere
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
...
Gibt es eine Möglichkeit, die ich, dass die ID-Eigenschaft einer Nutzlast angeben kann, für den PUT Betrieb erforderlich ist, und ist optional (oder sollte nicht angezeigt) für die POST-Operation?
Das ist sehr nützlich. Ich wäre an weiteren Erkenntnissen über diese "Overrides" interessiert, da ich wirklich möglichst viele Modelle vermeiden möchte. Die Schemadokumente scheinen anzuzeigen, dass ein Definitions-Override im Abschnitt "schema" der Methode platziert werden kann, vorausgesetzt, ein Element wird nicht "dupliziert" ... Gibt es Beispiele für diese Syntax? – rainecc
Ihre Antwort hat das Kopfgeld, weil es keine anderen Optionen gibt. Aber ich hoffe immer noch, dass es Alternativen gibt. Wenn jemand weiß, schreibe bitte eine Antwort. –
Vertrau mir, ich wünschte, es gäbe. Leider ist JSON Schema eine Validierungssprache und keine Modellierungssprache, daher ist es nicht wirklich freundlich zu solchen (üblichen) Anwendungsfällen. – Ron