Sobre o projeto
O Swagger Codegen transforma descrições de API OpenAPI ou Swagger em bibliotecas de clientes geradas, stubs de servidor, documentação de API e artefatos de suporte. As linhas 2.x e 3.x são mantidas de forma independente e usam diferentes IDs de grupo Maven; o suporte a OpenAPI 3.0.x está disponível apenas na versão 3.x. O README lista 3.0.71 como a versão estável atual da 3.x para especificações 1.0 a 3.0, e 2.4.46 como a versão estável atual da 2.x para especificações 1.0 a 2.0.
As saídas suportadas abrangem clientes de API para linguagens como Java, Python, JavaScript/TypeScript, Go, C#, PHP, Ruby, Swift, Kotlin, Rust e muitas outras; stubs de servidor para frameworks incluindo Spring, JAX-RS, ASP.NET Core, Go, Flask, Node.js, Rails e frameworks Scala; e documentação em HTML, HTML dinâmico e Confluence Wiki. Também pode gerar configuração Apache2 e saída relacionada a JMeter.
A interface principal é uma CLI Java. Um comando típico usa uma especificação de entrada, linguagem ou framework alvo e diretório de saída. A CLI fornece ajuda geral de geração e ajuda de configuração específica de linguagem, enquanto arquivos de configuração, modelos personalizados, mapeamentos de tipos, mapeamentos de importação e geração seletiva permitem adaptar a saída gerada. A saída HTML dinâmica pode ser servida através do exemplo Node.js incluído, enquanto a saída HTML estática produz um simples arquivo HTML autônomo.
O projeto documenta a construção com Maven, o uso de Docker e a integração da geração em fluxos de trabalho baseados em Maven, Gradle e GitHub. Geradores online também são referenciados para usuários que não desejam executar sua própria instância. Para validação de especificações, o README aponta para um validador Swagger online e para o Spectral para validação local.
Uma nota de segurança adverte que especificações de fontes não confiáveis devem ser revisadas antes da geração, pois pode ocorrer injeção de código. Os modelos do projeto são cobertos pela licença do repositório, mas o código gerado destina-se a ser AS IS, de propriedade do usuário e não sujeito à licença do projeto pai.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.