Ugrás a tartalomhoz
100% helyi

OpenAPI TypeScript típusok

OpenAPI vagy Swagger dokumentumot TypeScript interfészekké és típusokká konvertálj.

Bemenet
Kimenet

OpenAPI TypeScript típusok

Illeszd be az OpenAPI 3 vagy Swagger 2 dokumentumot — JSON vagy YAML formátumban — és ez az eszköz TypeScript interfészeket hoz létre az összes sémához a komponensek/sémák szakaszban, valamint egy típust minden végpont útjához, lekérdezési paramétereihez, kérés törzséhez és válaszaihoz. Megspórolja az API típusok kézi írásának lépéseit minden alkalommal, amikor a specifikáció változik, és szinkronban tartja a klienst azzal, amit a szerver valójában visszaad.

A lehetőségek szabályozzák a kimenet formáját. Válassz az interfész vagy típusdeklarációk között, és dönts arról, hogyan kerülnek beágyazásra a null értékeket tartalmazó mezők: opcionális tulajdonságként (x?: string) vagy null-lal való unióként (x: string | null). A $ref hivatkozások maradhatnak névvel rendelkező típusokként, amelyek az egyeztetett interfészre mutatnak, vagy beágyazódhatnak az eredménybe, ahol használatosak. Az "útvonal, paraméter és választípusok generálása" letiltásával csak az összetevő sémákat kapod meg, vagy kapcsold be az állapotkód uniót, hogy lásd az összes olyan válaszkódot, amelyet egy végpont vissza tud adni, egyetlen típusként. A specifikációból származó leírások JSDoc megjegyzésekké válnak az egyes mezők fölött, és egy névprefix megakadályozza az előállított típusok ütközését a sajátjaiddal, amikor beilleszted őket egy nagyobb kódba.

A parser beolvassa a szabványos OpenAPI konstrukciókat — objektum- és tömbsémákat, enumerációkat, oneOf/anyOf/allOf, nullable, additionalProperties — és követi a helyi $ref mutatókat ugyanazon dokumentumban. Az elavultként megjelölt végpontok teljesen kihagyhatók, és egy olyan dokumentum, amely nem néz ki OpenAPI-nak (nincs összetevő/séma vagy útvonalak szakasza), világos hibaüzenetet hoz létre az üres kimenet helyett.

Minden helyileg fut a böngészödben — az API specifikációd, amely egy nem még kiadott terméket vagy belső rendszert írhat le, soha nem töltődik fel sehová. Másolja ki az előállított típusokat, töltsd le .txt fájlként, hogy beilleszd egy .ts fájlba, vagy küldd egyenesen vissza a kimenetet a bemenetre, hogy folytathasd a finomítást.

Gyakori kérdések

Támogatja az OpenAPI 3 és Swagger 2 dokumentumokat egyaránt?
Igen. Mindkettő ugyanazt az útvonal struktúrát használja, és a Swagger 2 definíciókat ugyanúgy olvassák, mint az OpenAPI 3 komponens/sémákat.
Mi történik a $ref hivatkozásokkal, amelyek a dokumentumon kívülre mutatnak?
Csak a helyi hivatkozások (amelyek #/-vel kezdődnek) kerülnek feloldásra. A külső fájlra mutató $ref névvel rendelkező típusként marad meg, de nem bővíthető, mivel nincs más forrás, ahonnan beolvasható lenne.
Generálhatok csak a végpontokhoz típusokat anélkül, hogy minden összetevő sémát generálnék?
Az összetevő sémák mindig generálódnak, ha jelen vannak, mivel a kérés és válasz típusok általában hivatkoznak rájuk. Az útvonal típusokat letiltásával kihagyod az útvonalakból származó mindent, és csak a sémákat megtartod.
Miért marad a körkörös sémareferencia névvel rendelkező típusként, még akkor is, ha a "kiterjesztés" bekapcsolt?
Egy olyan séma, amely magára vagy más sémán keresztül magára hivatkozik, nem ágyazódhat be anélkül, hogy végtelen ciklusba kerülne, így az egyik referencia visszaesik a névvel rendelkezett típusra, míg a többi továbbra is kiterjed.
Az API specifikációm valahova fel van töltve?
Nem. Az elemzés és típusgenerálás teljes egészében a böngészödben fut — a dokumentumod soha nem hagyja el az eszközt.