A especificação OpenAPI é uma especificação aberta orientada à comunidade dentro da iniciativa OpenAPI, um projeto colaborativo da Linux Foundation.
A especificação OpenAPI (OAS) define uma descrição padrão da interface de linguagem de programação e agnóstico para APIs HTTP. Isso permite que humanos e computadores descubram e entendam os recursos de um serviço sem exigir acesso ao código -fonte, documentação adicional ou inspeção do tráfego de rede. Quando definido corretamente via OpenAPI, um consumidor pode entender e interagir com o serviço remoto com uma quantidade mínima de lógica de implementação. Semelhante ao que as descrições de interface fizeram para a programação de nível inferior, a especificação do OpenAPI remove as suposições ao chamar um serviço.
Os casos de uso para documentos de definição de API legíveis por máquina incluem, mas não estão limitados a: documentação interativa; Geração de código para documentação, clientes e servidores; e automação de casos de teste. Os documentos OpenAPI descrevem os serviços de API e estão representados nos formatos YAML ou JSON. Esses documentos podem ser produzidos e servidos estaticamente ou gerados dinamicamente a partir de um aplicativo.
A especificação do OpenAPI não reescreve as APIs existentes. Ele não requer vincular nenhum software a um serviço - o serviço descrito pode nem pertencer ao criador de sua descrição. No entanto, exige que os recursos do serviço sejam descritos na estrutura da especificação OpenAPI. Nem todos os serviços podem ser descritos pelo OpenAPI - esta especificação não se destina a cobrir todos os estilos possíveis das APIs HTTP, mas inclui suporte para APIs REST. A especificação OpenAPI não exige um processo de desenvolvimento específico, como design-primeiro ou código-primeiro. Ele facilita qualquer técnica estabelecendo interações claras com uma API HTTP.
Este projeto do GitHub é o ponto de partida do OpenAPI. Aqui você encontrará as informações necessárias sobre a especificação do OpenAPI, exemplos simples de como ela se parece e algumas informações gerais sobre o projeto.
Este repositório contém as fontes de marcação para todas as versões publicadas de especificação OpenAPI. Para notas de lançamento e versões candidatas, consulte a página de lançamentos.
Cada pasta neste repositório, como esquemas e testes, deve conter pastas referentes às versões atuais e anteriores da especificação.
Se você deseja apenas vê -lo funcionar, consulte a lista dos exemplos atuais.
Procurando ver como você pode criar sua própria definição OpenAPI, apresentá -la ou usá -la de outra forma? Confira a crescente lista de implementações.
O processo atual para o desenvolvimento da especificação OpenAPI é descrito nas diretrizes contribuintes.
O desenvolvimento da próxima versão da especificação OpenAPI é guiada pelo Comitê de Direção Técnica (TSC). Esse grupo de compromissos traz sua experiência na API, incorpora feedback da comunidade e expande o grupo de compromissos, conforme apropriado. Toda a atividade de desenvolvimento na especificação futura será executada como recursos e mesclada nesta filial. Após a liberação da especificação futura, este ramo será fundido para main
.
O TSC possui conferências semanais da Web para revisar solicitações de tração abertas e discutir questões abertas relacionadas à especificação em evolução do OpenAPI. A participação em chamadas semanais e sessões de trabalho programadas é aberta para a comunidade. Você pode visualizar todo o calendário de reuniões técnicas do OpenAPI online.
A iniciativa OpenAPI incentiva a participação de indivíduos e empresas. Se você deseja participar da evolução da especificação OpenAPI, considere tomar as seguintes ações:
Nem todo feedback pode ser acomodado e pode haver argumentos sólidos a favor ou contra uma mudança apropriada para a especificação.
Veja: Licença (Apache-2.0)