O que esta ferramenta OpenAPI faz
O trabalho front-end geralmente começa antes que o back-end esteja pronto, e escrever tipos à mão para uma API que já tem uma especificação é um esforço desperdiçado. Coloque um ** OpenAPI 3.x ** ou ** Swagger 2.0 ** documento em JSON ou YAML e esta ferramenta gera três coisas: realistas ** mock respostas ** para cada operação, ** TypeScript tipos ** para todos os esquemas, e um pequeno tipo ** fetch cliente ** com uma função por endpoint. Tudo é gerado no seu navegador, por isso as especificações de API privadas ou internas nunca são carregadas.
Como usar
- Coloque as suas especificações ou faça upload do ficheiro. Tanto o JSON como o YAML são aceites.
- A lista de pontos terminais mostra cada operação com o seu método e caminho.
- Abra a aba ** dados simulados ** e selecione uma operação para ver uma resposta de amostra, construída a partir de exemplos de esquema, formatos e enums.
- Mudar para os tipos TS para as interfaces geradas a partir de
components/schemas(oudefinitionsno Swagger 2). - Mude para TS cliente para um cliente pronto para uso e copiá-lo em seu projeto.
Como são geradas as mocas
- Os valores
exampleeexamplesda especificação sempre ganham. enumescolhe o primeiro valor;defaulté respeitado.- Os formatos de cadeia produzem valores plausíveis:
email,uuid,date-time,uri,ipv4e assim por diante. - Os nomes das propriedades dão pistas, para que
name,priceoucreatedAtpareçam realistas. $ref,allOf,oneOfeanyOfsão resolvidos; referências recursivas são cortadas com segurança.- As simulações são deterministas por operação, por isso não mudam a cada atualização.
Usando o cliente gerado
O cliente exporta uma constante BASE_URL e uma função assíncrona por operação, com o nome de seu operationId (ou método e caminho quando faltam), com parâmetros de caminho digitados, parâmetros de consulta e corpo de solicitação, devolvendo a resposta digitada. Só depende do fetch, por isso funciona em navegadores, Node 18+, Deno e Bun.