Tipos OpenAPI para TypeScript
Converta um documento OpenAPI ou Swagger em interfaces e tipos TypeScript.
Tipos OpenAPI para TypeScript
Cole um documento OpenAPI 3 ou Swagger 2 — JSON ou YAML — e esta ferramenta gera interfaces TypeScript correspondentes para cada esquema em components/schemas, mais um tipo por endpoint para seus parâmetros de caminho e consulta, corpo da solicitação e respostas. Economiza a etapa de escrever manualmente tipos de API sempre que uma especificação muda, mantendo o cliente sincronizado com o que o servidor realmente retorna.
As opções controlam a forma da saída. Escolha declarações de interface ou type, e decida como os campos anuláveis são representados: como uma propriedade opcional (x?: string) ou como uma união com null (x: string | null). Referências $ref podem permanecer como tipos nomeados apontando para a interface correspondente, ou ser expandidas em linha onde quer que sejam usadas. Desative "gerar tipos de caminho, parâmetro e resposta" para obter apenas os esquemas de componentes, ou ative uma união de código de estado para ver cada código de resposta que um endpoint pode retornar como um único tipo. Descrições da especificação se tornam comentários JSDoc acima de cada campo, e um prefixo de nome mantém os tipos gerados de colidirem com os seus próprios ao colá-los em uma base de código maior.
O analisador lê construções OpenAPI padrão — esquemas de objeto e matriz, enums, oneOf/anyOf/allOf, nullable, additionalProperties — e segue ponteiros $ref locais dentro do mesmo documento. Endpoints marcados como obsoletos podem ser ignorados completamente, e um documento que não pareça OpenAPI (sem seção components/schemas ou paths) produz um erro claro em vez de uma saída em branco.
Tudo é executado localmente no seu navegador — sua especificação de API, que pode descrever um produto não lançado ou um sistema interno, nunca é carregada em nenhum lugar. Copie os tipos gerados, baixe-os como um arquivo .txt para colar em um arquivo .ts, ou envie a saída diretamente de volta para a entrada para continuar refinando.