Preskoči na sadržaj
100% lokalno

OpenAPI u TypeScript tipove

Pretvori dokument OpenAPI ili Swagger u TypeScript sučelja i tipove.

Unos
Rezultat

OpenAPI u TypeScript tipove

Zalijepi dokument OpenAPI 3 ili Swagger 2 — JSON ili YAML — i ovaj alat generira podudarajuća TypeScript sučelja za svaku shemu u components/schemas, plus jedan tip po endpointu za njegove putanje i parametre upita, tijelo zahtjeva i odgovore. Uštedi korak ručnog pisanja API tipova svaki put kada se specifikacija promijeni, i drži klijenta usklađenim s onim što server zapravo vraća.

Mogućnosti kontroliraju oblik izlaza. Odaberite interface ili type deklaracije, i odlučite kako se polja koja dopuštaju null predstavljaju: kao opcionalno svojstvo (x?: string) ili kao unija s null-om (x: string | null). $ref reference mogu ostati kao imenovani tipovi koji pokazuju na podudarajuće sučelje, ili biti rasširene u redu gdje se koriste. Isključite "generiraj putanju, parametar i tipove odgovora" da dobijete samo sheme komponenti, ili uključite uniju statusnog koda da vidite svaki kod odgovora koji endpoint može vratiti kao jedan tip. Opisi iz specifikacije postaju JSDoc komentari iznad svakog polja, a prefiks imena sprječava da se generirani tipovi sudare s vašima kada ih zalijepite u veću bazu koda.

Parser čita standardne OpenAPI konstrukte — object i array sheme, enume, oneOf/anyOf/allOf, nullable, additionalProperties — i slijedi lokalne $ref pokazivače unutar istog dokumenta. Endpointi označeni kao zastarjeli mogu se potpuno preskočiti, a dokument koji ne izgleda kao OpenAPI (nema components/schemas ili paths sekcije) proizvodi jasnu grešku umjesto praznog izlaza.

Svega se izvršava lokalno u vašem pregledniku — vaša specifikacija API-ja, koja može opisati neizdani proizvod ili interni sustav, nikada nije učitana nigdje. Kopirajte generirane tipove, preuzmite ih kao .txt datoteku da zalijepite u .ts datoteku, ili pošaljite izlaz ravno natrag na unos da ga nastavite dorađivati.

FAQ

Podržava li i OpenAPI 3 i Swagger 2 dokumente?
Da. Oboje koriste istu struktura putanja, a Swagger 2 definicije se čitaju na isti način kao OpenAPI 3 components/schemas.
Što se gebeurt s $ref referencama koje pokazuju izvan dokumenta?
Samo lokalne reference (počevši od #/) se rješavaju. $ref na vanjsku datoteku ostaje kao imenovani tip ali se ne može rasširiti, jer nema ničega drugoga da se iz njega pročita.
Mogu li generirati tipove samo za endpointe, bez svake sheme komponenti?
Sheme komponenti se uvijek generiraju kada su dostupne, jer tipovi zahtjeva i odgovora obično na njih reference. Isključite tipove putanja da preskočite sve što je izvedeno iz putanja i zadržite samo sheme.
Zašto cirkularna referencija sheme ostaje kao imenovani tip čak i s "rasširi" uključenom?
Shema koja se referencira sama, izravno ili kroz drugu shemu, ne može biti ugrađena bez da se petlja nastavlja zauvijek, pa se ta jedna referenca vraća na poimenovani tip, dok se ostale još uvijek rasširuju.
Je li moja specifikacija API-ja učitana bilo gdje?
Ne. Raščlanjivanje i generiranje tipova se izvršavaju u cijelosti u vašem pregledniku — vaš dokument nikada ne napušta vašu napravu.