Advanced features
O OpenAPI 3 tem alguns recursos avançados para descrever APIs complexas. Veja como você pode usá-los com o Mintlify.
oneOf
, anyOf
, allOf
Para tipos de dados complexos, o OpenAPI fornece as palavras-chave oneOf
, anyOf
, e allOf
, permitindo que você combine esquemas de certas maneiras. Você pode ler mais sobre essas palavras-chave na documentação do Swagger, mas essencialmente:
oneOf
funciona como um operador “ou-exclusivo”anyOf
funciona como um operador “ou”allOf
funciona como um operador “e”
oneOf
e anyOf
são tratadas da mesma forma. Descobrimos que, quando as pessoas usam oneOf
, elas frequentemente querem dizer anyOf
- e geralmente não há diferença significativa para o usuário.not
não é atualmente suportada.Combinando esquemas com allOf
O Mintlify realiza algum pré-processamento em seu documento OpenAPI para exibir essas combinações complexas de uma maneira legível. Por exemplo, quando você combina dois esquemas de objeto com allOf
, o Mintlify combina as propriedades de ambos em um único objeto. Isso se torna especialmente útil ao aproveitar os componentes reutilizáveis do components
OpenAPI.
Fornecendo opções com oneOf
e anyOf
Quando você usa oneOf
ou anyOf
, o Mintlify exibe as opções em um contêiner com abas. Para dar nomes úteis às suas opções, certifique-se de dar a cada subesquema um campo title
. Por exemplo, veja como você pode exibir dois tipos diferentes de endereços de entrega:
x-codeSamples
Se seus usuários interagem com sua API usando um SDK em vez de diretamente através de uma solicitação de rede, você pode adicionar exemplos de código ao seu documento OpenAPI, e o Mintlify os exibirá em suas páginas OpenAPI. Você pode definir seus exemplos de código usando a extensão x-codeSamples
. Esta propriedade pode ser adicionada dentro de qualquer método de solicitação e tem o seguinte esquema:
A linguagem do exemplo de código.
O rótulo para o exemplo. Isso é útil ao fornecer múltiplos exemplos para um único endpoint.
O código-fonte do exemplo.
Aqui está um exemplo de alguns exemplos de código para um aplicativo de rastreamento de plantas, que tem tanto uma ferramenta CLI em Bash quanto um SDK em JavaScript.
x-hidden
e x-excluded
Se suas páginas são autogenerated a partir de um documento OpenAPI, mas há alguns caminhos para os quais você não quer criar páginas, você pode excluí-los de ter páginas geradas adicionando a propriedade x-excluded
.
Se você quer que as páginas sejam geradas, mas não quer que elas apareçam na navegação, adicione x-hidden
.
Você pode adicionar a tag x-hidden
ou x-excluded
sob caminhos de endpoint ou webhook abaixo do método.
Aqui estão exemplos de como isso ficaria em um documento de esquema OpenAPI para um endpoint ou um caminho de webhook: