Advanced features
OpenAPI 3 tiene algunas características avanzadas para describir APIs complejas. Así es como puedes usarlas con Mintlify.
oneOf
, anyOf
, allOf
Para tipos de datos complejos, OpenAPI proporciona las palabras clave oneOf
, anyOf
, y allOf
, permitiéndote combinar esquemas de ciertas maneras. Puedes leer más sobre estas palabras clave en la documentación de Swagger, pero esencialmente:
oneOf
funciona como un operador “o exclusivo”anyOf
funciona como un operador “o”allOf
funciona como un operador “y”
oneOf
y anyOf
se tratan de la misma manera. Hemos encontrado que, cuando las personas usan oneOf
, a menudo quieren decir anyOf
- y a menudo no hay una diferencia significativa para el usuario.not
no está actualmente soportada.Combinando esquemas con allOf
Mintlify realiza algún preprocesamiento en tu documento OpenAPI para mostrar estas combinaciones complejas de una manera legible. Por ejemplo, cuando combinas dos esquemas de objetos con allOf
, Mintlify combina las propiedades de ambos en un solo objeto. Esto se vuelve especialmente útil cuando se aprovechan los componentes reutilizables de components
OpenAPI.
Proporcionando opciones con oneOf
y anyOf
Cuando usas oneOf
o anyOf
, Mintlify muestra las opciones en un contenedor con pestañas. Para dar a tus opciones nombres útiles, asegúrate de dar a cada subesquema un campo title
. Por ejemplo, así es como podrías mostrar dos tipos diferentes de direcciones de entrega:
x-codeSamples
Si tus usuarios interactúan con tu API usando un SDK en lugar de directamente a través de una solicitud de red, puedes agregar ejemplos de código a tu documento OpenAPI, y Mintlify los mostrará en tus páginas de OpenAPI. Puedes definir tus ejemplos de código usando la extensión x-codeSamples
. Esta propiedad se puede agregar dentro de cualquier método de solicitud, y tiene el siguiente esquema:
El lenguaje del ejemplo de código.
La etiqueta para el ejemplo. Esto es útil cuando se proporcionan múltiples ejemplos para un solo endpoint.
El código fuente del ejemplo.
Aquí hay un ejemplo de algunos ejemplos de código para una aplicación de seguimiento de plantas, que tiene tanto una herramienta CLI de Bash como un SDK de JavaScript.
x-hidden
y x-excluded
Si tus páginas son autogeneradas a partir de un documento OpenAPI, pero hay algunas rutas para las que no quieres crear páginas, puedes excluirlas de la generación de páginas agregando la propiedad x-excluded
.
Si quieres que se generen páginas, pero que no aparezcan en la navegación, agrega x-hidden
.
Puedes agregar la etiqueta x-hidden
o x-excluded
bajo las rutas de endpoints o webhooks debajo del método.
Aquí hay ejemplos de cómo se vería eso en un documento de esquema OpenAPI para un endpoint o una ruta de webhook: