diff --git a/src/services/models/MediaType.ts b/src/services/models/MediaType.ts index 1465995b..dd87b3ef 100644 --- a/src/services/models/MediaType.ts +++ b/src/services/models/MediaType.ts @@ -42,12 +42,18 @@ export class MediaTypeModel { if (this.schema && this.schema.oneOf) { this.examples = {}; for (const subSchema of this.schema.oneOf) { + const sample = Sampler.sample( + subSchema.rawSchema, + { skipReadOnly: this.isRequestType, skipWriteOnly: !this.isRequestType }, + parser.spec, + ); + + if (this.schema.discriminatorProp && typeof sample === 'object' && sample) { + sample[this.schema.discriminatorProp] = subSchema.title; + } + this.examples[subSchema.title] = { - value: Sampler.sample( - subSchema.rawSchema, - { skipReadOnly: this.isRequestType, skipWriteOnly: !this.isRequestType }, - parser.spec, - ), + value: sample, }; } } else {