diff --git a/packages/docusaurus-plugin-openapi-docs/src/openapi/createSchemaExample.ts b/packages/docusaurus-plugin-openapi-docs/src/openapi/createSchemaExample.ts index ea0ddcf0c..6a2ff5024 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/openapi/createSchemaExample.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/openapi/createSchemaExample.ts @@ -91,7 +91,11 @@ function sampleFromProp( // TODO: handle discriminators - if (prop.oneOf) { + if (prop.example !== undefined) { + obj[name] = prop.example; + } else if (prop.examples !== undefined && prop.examples.length > 0) { + obj[name] = prop.examples[0]; + } else if (prop.oneOf) { obj[name] = sampleFromSchema(prop.oneOf[0], context); } else if (prop.anyOf) { obj[name] = sampleFromSchema(prop.anyOf[0], context); @@ -111,11 +115,15 @@ export const sampleFromSchema = ( try { // deep copy schema before processing let schemaCopy = JSON.parse(JSON.stringify(schema)); - let { type, example, allOf, properties, items, oneOf, anyOf } = schemaCopy; + let { type, example, examples, allOf, properties, items, oneOf, anyOf } = + schemaCopy; if (example !== undefined) { return example; } + if (examples !== undefined && examples.length > 0) { + return examples[0]; + } if (oneOf) { if (properties) {