Preskočiť na obsah
100% lokálne

OpenAPI do TypeScript typov

Premeniť dokument OpenAPI alebo Swagger na TypeScript interfejsy a typy.

Vstup
Výstup

OpenAPI do TypeScript typov

Vložte dokument OpenAPI 3 alebo Swagger 2 — JSON alebo YAML — a tento nástroj generuje zodpovedajúce TypeScript interfejsy pre každé schéma v components/schemas, plus jeden typ na každý endpoint s jeho cestou, query parametrami, telesom požiadavky a odpoveďami. Ušetrí krok ručného písania API typov zakaždým, keď sa špecifikácia zmení, a udržuje klienta v súlade s tým, čo server vracia.

Volby ovládajú tvar výstupu. Vyberte si deklarácie interface alebo type a rozhodnite sa, ako sú reprezentované nullable polia: ako voliteľná vlastnosť (x?: string) alebo ako unión s null (x: string | null). Referencie $ref môžu buď zostať ako pomenované typy ukazujúce na zodpovedajúci interface, alebo byť rozšírené inline kdekoľvek sa používajú. Vypnite "generovať typy ciest, parametrov a odpovedí" ak chcete iba schémy komponentov, alebo zapnite union stavových kódov, aby ste videli všetky kódy odpovedí, ktoré môže endpoint vrátiť ako jeden typ. Opisy zo špecifikácie sa stanú JSDoc komentármi nad každým poľom, a predpona názvu udržiava generované typy od kolidovania s vašimi, keď ich vložíte do väčšej kódovej základne.

Parser čita štandardné OpenAPI konštrukty — object a array schémy, enumerácie, oneOf/anyOf/allOf, nullable, additionalProperties — a sleduje lokálne pointery $ref v rámci toho istého dokumentu. Endpointy označené ako zastarané sa dajú úplne preskočiť, a dokument, ktorý nevyzerá ako OpenAPI (bez components/schemas alebo sections ciest) produkuje jasný error namiesto prázdneho výstupu.

Všetko sa spúšťa lokálne vo vašom prehliadači — vaša špecifikácia API, ktorá môže popisovať nevydaný produkt alebo interný systém, sa nikdy nikam neuploaduje. Skopírujte generované typy, stiahnite si ich ako .txt súbor na vloženie do .ts súboru, alebo pošlite výstup priamo späť do inputu, aby ste ho ďalej vylepšili.

Časté otázky

Podporuje obe dokumenty OpenAPI 3 a Swagger 2?
Áno. Oba používajú rovnakú štruktúru paths, a definície Swagger 2 sa čítajú rovnakým spôsobom ako OpenAPI 3 components/schemas.
Čo sa stane s referencami $ref, ktoré ukazujú mimo dokumentu?
Iba lokálne referencie (začínajúce na #/) sa riešia. $ref na externý súbor sa ponechá ako pomenovaný typ, ale nemôže sa rozšíriť, pretože z neho nie je čo čítať.
Môžem generovať typy iba pre endpointy, bez všetkých schém komponentov?
Schémy komponentov sa vždy generujú, keď sú prítomné, pretože typy požiadaviek a odpovedí na nich zvyčajne odkazujú. Vypnite typy ciest a všetko odvodené z ciest preskočíte a ponecháte iba schémy.
Prečo zostáva kruhová referencia schémy ako pomenovaný typ aj s "rozšírením" zapnutým?
Schéma, ktorá sa odkazuje sama na seba, priamo alebo cez inú schému, nemôže byť inlinovaná bez nekonečného cyklu, takže táto referencia sa vráti na pomenovaný typ, zatiaľ čo ostatné sa stále rozširujú.
Je moja špecifikácia API uploadnutá gdziekoľvek?
Nie. Parsing a generovanie typov sa spúšťa úplne vo vašom prehliadači — váš dokument nikdy neopustí vaše zariadenie.